Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class OrderRequestBuilderTest extends TestCase {
- static private $fixture;
- static function setUpBeforeClass() {
- $dbh = ConnectionManager::get();
- self::$fixture = new OrderProductFixture($dbh);
- self::$fixture->prepareFirst();
- self::$fixture->prepare();
- }
- static function tearDownAfterClass() {
- self::$fixture->clear();
- self::$fixture->clearLast();
- }
- function testBuildParams() {
- $siteId = 123;
- $builder = new OrderRequestBuilder($siteId);
- $saleable1Id = 5;
- $saleable1Qty = 10;
- $saleable2Id = 10;
- $saleable2Qty = 8;
- $builder->setItem($saleable1Id, $saleable1Qty);
- $builder->setItem($saleable2Id, $saleable2Qty);
- $shippingMethodId = 888;
- $builder->setShippingMethod($shippingMethodId);
- $params = $builder->buildParams();
- $this->assertNotNull($params);
- $this->assertType('array', $params);
- $this->assertArrayHasKey('site', $params);
- $this->assertEquals($siteId, $params['site']);
- $this->assertArrayHasKey('method', $params);
- $this->assertEquals($shippingMethodId, $params['method']);
- $this->assertArrayHasKey('items', $params);
- $this->assertEquals("5:10,10:8", $params['items']);
- }
- function testBuildParamsThrowsIfNoItems() {
- $builder = new OrderRequestBuilder(777);
- $builder->setShippingMethod(888);
- $this->setExpectedException('OrderRequestBuilderException');
- $builder->buildParams();
- }
- function testGuildParamsThrowsIfNoShippingMethod() {
- $builder = new OrderRequestBuilder(777);
- $builder->setItem(1, 20);
- $this->setExpectedException('OrderRequestBuilderException');
- $params = $builder->buildParams();
- }
- function testBuildParamsFromOrder() {
- $order = Order::create(Site::find(2));
- $order->setShippingMethod(ShippingMethod::find(3));
- $order->addLine(SaleableItem::find(1), 1);
- $order->addLine(SaleableItem::find(2), 2);
- $builder = new OrderRequestBuilder($order);
- $params = $builder->buildParams();
- $this->assertNotNull($params);
- $this->assertType('array', $params);
- $this->assertArrayHasKey('site', $params);
- $this->assertEquals(2, $params['site']);
- $this->assertArrayHasKey('method', $params);
- $this->assertEquals(3, $params['method']);
- $this->assertArrayHasKey('items', $params);
- $this->assertEquals("1:1,2:2", $params['items']);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement