コード例 #1
0
 public function testSetItems()
 {
     $this->assertFalse($this->object->setItems(null));
     //can't be nothing
     $this->assertFalse($this->object->setItems('item'));
     //can't be a string
     $this->assertFalse($this->object->setItems(array()));
     //can't be empty
     $break = array();
     $break[0]['Bork'] = 'bork bork';
     $this->assertFalse($this->object->setItems($break));
     //missing seller sku
     $break[0]['SellerSKU'] = 'some sku';
     $this->assertFalse($this->object->setItems($break));
     //missing quantity
     $check = parseLog();
     $this->assertEquals('Tried to set Items to invalid values', $check[1]);
     $this->assertEquals('Tried to set Items to invalid values', $check[2]);
     $this->assertEquals('Tried to set Items to invalid values', $check[3]);
     $this->assertEquals('Tried to set Items with invalid array', $check[4]);
     $this->assertEquals('Tried to set Items with invalid array', $check[5]);
     $i = array();
     $i[0]['SellerSKU'] = 'SellerSKU';
     $i[0]['Quantity'] = 'Quantity';
     $i[0]['QuantityInCase'] = 'QuantityInCase';
     $i[0]['Condition'] = 'Condition';
     $i[1]['SellerSKU'] = 'SellerSKU2';
     $i[1]['Quantity'] = 'Quantity2';
     $this->assertNull($this->object->setItems($i));
     $o = $this->object->getOptions();
     $this->assertArrayHasKey('InboundShipmentPlanRequestItems.member.1.SellerSKU', $o);
     $this->assertEquals('SellerSKU', $o['InboundShipmentPlanRequestItems.member.1.SellerSKU']);
     $this->assertArrayHasKey('InboundShipmentPlanRequestItems.member.1.Quantity', $o);
     $this->assertEquals('Quantity', $o['InboundShipmentPlanRequestItems.member.1.Quantity']);
     $this->assertArrayHasKey('InboundShipmentPlanRequestItems.member.1.QuantityInCase', $o);
     $this->assertEquals('QuantityInCase', $o['InboundShipmentPlanRequestItems.member.1.QuantityInCase']);
     $this->assertArrayHasKey('InboundShipmentPlanRequestItems.member.1.Condition', $o);
     $this->assertEquals('Condition', $o['InboundShipmentPlanRequestItems.member.1.Condition']);
     $this->assertArrayHasKey('InboundShipmentPlanRequestItems.member.1.SellerSKU', $o);
     $this->assertEquals('SellerSKU2', $o['InboundShipmentPlanRequestItems.member.2.SellerSKU']);
     $this->assertArrayHasKey('InboundShipmentPlanRequestItems.member.2.Quantity', $o);
     $this->assertEquals('Quantity2', $o['InboundShipmentPlanRequestItems.member.2.Quantity']);
     $i2 = array();
     $i2[0]['SellerSKU'] = 'NewSellerSKU';
     $i2[0]['Quantity'] = 'NewQuantity';
     $this->assertNull($this->object->setItems($i2));
     //will cause reset
     $o2 = $this->object->getOptions();
     $this->assertArrayHasKey('InboundShipmentPlanRequestItems.member.1.SellerSKU', $o2);
     $this->assertEquals('NewSellerSKU', $o2['InboundShipmentPlanRequestItems.member.1.SellerSKU']);
     $this->assertArrayHasKey('InboundShipmentPlanRequestItems.member.1.Quantity', $o2);
     $this->assertEquals('NewQuantity', $o2['InboundShipmentPlanRequestItems.member.1.Quantity']);
     $this->assertArrayNotHasKey('InboundShipmentPlanRequestItems.member.1.QuantityInCase', $o2);
     $this->assertArrayNotHasKey('InboundShipmentPlanRequestItems.member.2.SellerSKU', $o2);
     $this->assertArrayNotHasKey('InboundShipmentPlanRequestItems.member.2.Quantity', $o2);
     $this->object->resetItems();
     $o3 = $this->object->getOptions();
     $this->assertArrayNotHasKey('InboundShipmentPlanRequestItems.member.1.SellerSKU', $o3);
     $this->assertArrayNotHasKey('InboundShipmentPlanRequestItems.member.1.Quantity', $o3);
 }