Source of file ZoneTest.php
Size: 1,536 Bytes - Last Modified: 2021-12-23T10:25:09+00:00
/var/www/docs.ssmods.com/process/src/tests/ZoneTest.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | <?php namespace SilverShop\Tests\Model; use SilverShop\Model\Address; use SilverShop\Shipping\Model\Zone; use SilverStripe\Dev\SapphireTest; class ZoneTest extends SapphireTest { public static $fixture_file = [ 'ZonedShippingMethod.yml', 'Addresses.yml', ]; public function testMatchingZones() { $this->assertZoneMatch($this->objFromFixture(Address::class, "wnz6012"), "TransTasman"); $this->assertZoneMatch($this->objFromFixture(Address::class, "wnz6012"), "Local"); $this->assertZoneMatch($this->objFromFixture(Address::class, "sau5024"), "TransTasman"); $this->assertZoneMatch($this->objFromFixture(Address::class, "sau5024"), "Special"); $this->assertZoneMatch($this->objFromFixture(Address::class, "scn266033"), "Asia"); $this->assertNoZoneMatch($this->objFromFixture(Address::class, "zch1234")); $this->markTestIncomplete( 'test match specificity, ie state matches should come before country matches, but not postcode matches' ); } public function assertZoneMatch($address, $zonename) { $zones = Zone::get_zones_for_address($address); $this->assertNotNull($zones); $this->assertListContains( array( array('Name' => $zonename), ), $zones ); } public function assertNoZoneMatch($address) { $zones = Zone::get_zones_for_address($address); $this->assertNull($zones, "No zones exist"); } } |