Advertisement
Guest User

OrderRequestBuilderTest

a guest
Sep 4th, 2010
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.35 KB | None | 0 0
  1. class OrderRequestBuilderTest extends TestCase {
  2.     static private $fixture;
  3.    
  4.     static function setUpBeforeClass() {
  5.         $dbh = ConnectionManager::get();
  6.         self::$fixture = new OrderProductFixture($dbh);
  7.         self::$fixture->prepareFirst();
  8.         self::$fixture->prepare();
  9.     }
  10.    
  11.     static function tearDownAfterClass() {
  12.         self::$fixture->clear();
  13.         self::$fixture->clearLast();
  14.     }
  15.    
  16.     function testBuildParams() {
  17.         $siteId = 123;
  18.         $builder = new OrderRequestBuilder($siteId);
  19.         $saleable1Id = 5;
  20.         $saleable1Qty = 10;
  21.         $saleable2Id = 10;
  22.         $saleable2Qty = 8;
  23.         $builder->setItem($saleable1Id, $saleable1Qty);
  24.         $builder->setItem($saleable2Id, $saleable2Qty);
  25.         $shippingMethodId = 888;
  26.         $builder->setShippingMethod($shippingMethodId);
  27.         $params = $builder->buildParams();
  28.         $this->assertNotNull($params);
  29.         $this->assertType('array', $params);
  30.         $this->assertArrayHasKey('site', $params);
  31.         $this->assertEquals($siteId, $params['site']);
  32.         $this->assertArrayHasKey('method', $params);
  33.         $this->assertEquals($shippingMethodId, $params['method']);
  34.         $this->assertArrayHasKey('items', $params);
  35.         $this->assertEquals("5:10,10:8", $params['items']);
  36.     }
  37.    
  38.     function testBuildParamsThrowsIfNoItems() {
  39.         $builder = new OrderRequestBuilder(777);
  40.         $builder->setShippingMethod(888);
  41.         $this->setExpectedException('OrderRequestBuilderException');
  42.         $builder->buildParams();
  43.     }
  44.    
  45.     function testGuildParamsThrowsIfNoShippingMethod() {
  46.         $builder = new OrderRequestBuilder(777);
  47.         $builder->setItem(1, 20);
  48.         $this->setExpectedException('OrderRequestBuilderException');
  49.         $params = $builder->buildParams();
  50.     }
  51.    
  52.     function testBuildParamsFromOrder() {
  53.         $order = Order::create(Site::find(2));
  54.         $order->setShippingMethod(ShippingMethod::find(3));
  55.         $order->addLine(SaleableItem::find(1), 1);
  56.         $order->addLine(SaleableItem::find(2), 2);
  57.         $builder = new OrderRequestBuilder($order);
  58.         $params = $builder->buildParams();
  59.         $this->assertNotNull($params);
  60.         $this->assertType('array', $params);
  61.         $this->assertArrayHasKey('site', $params);
  62.         $this->assertEquals(2, $params['site']);
  63.         $this->assertArrayHasKey('method', $params);
  64.         $this->assertEquals(3, $params['method']);
  65.         $this->assertArrayHasKey('items', $params);
  66.         $this->assertEquals("1:1,2:2", $params['items']);
  67.     }
  68.    
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement