0byt3m1n1
Path:
/
data
/
applications
/
aps
/
tikiwiki
/
14.1-0
/
standard
/
htdocs
/
lib
/
test
/
shipping
/
[
Home
]
File: ShippingTest.php
<?php // (c) Copyright 2002-2015 by authors of the Tiki Wiki CMS Groupware Project // // All Rights Reserved. See copyright.txt for details and a complete list of authors. // Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. require_once 'lib/shipping/shippinglib.php'; class ShippingTest extends TikiTestCase implements ShippingProvider { private $from; private $to; private $packages; function setUp() { $this->from = null; $this->to = null; $this->packages = null; } function testWithoutProvider() { $lib = new ShippingLib; $this->assertEquals(array(), $lib->getRates(array('zip' => '12345'), array('zip' => '23456'), array(array('weight' => 5)))); } function testCountryPreserved() { $lib = new ShippingLib; $lib->addProvider($this); $lib->getRates(array('zip' => '12345', 'country' => 'FR'), array('zip' => '23456'), array(array('weight' => 5))); $this->assertEquals('FR', $this->from['country']); } function testCountryCompleted() { $lib = new ShippingLib; $lib->addProvider($this); $lib->getRates(array('zip' => '12345'), array('zip' => 'A1B 2C3'), array(array('weight' => 5))); $this->assertEquals('US', $this->from['country']); $this->assertEquals('CA', $this->to['country']); } function testZipUpperCased() { $lib = new ShippingLib; $lib->addProvider($this); $lib->getRates(array('zip' => '12345'), array('zip' => 'a1b 2c3'), array(array('weight' => 5))); $this->assertEquals('A1B 2C3', $this->to['zip']); $this->assertEquals('CA', $this->to['country']); } function testUnknownFormat() { $lib = new ShippingLib; $lib->addProvider($this); $lib->getRates(array('zip' => '12345678900X'), array('zip' => 'A1B 2C3'), array(array('weight' => 5))); $this->assertArrayNotHasKey('country', $this->from); } function testPackageExpansion() { $lib = new ShippingLib; $lib->addProvider($this); $lib->getRates(array('zip' => '12345678900X'), array('zip' => 'A1B 2C3'), array(array('weight' => 5, 'count' => 2), array('weight' => 10))); $this->assertEquals( array( array('weight' => 5), array('weight' => 5), array('weight' => 10), ), $this->packages ); } function getRates(array $from, array $to, array $packages) { $this->from = $from; $this->to = $to; $this->packages = $packages; return array(); } }