public function setUp()
 {
     parent::setUp();
     $this->logger = $this->getHelperMockBuilder('ebayenterprise_magelog/data')->disableOriginalConstructor()->getMock();
     $this->logContext = $this->getHelperMockBuilder('ebayenterprise_magelog/context')->disableOriginalConstructor()->getMock();
     $this->logContext->expects($this->any())->method('getMetaData')->will($this->returnValue([]));
     // mock the item iterable to create and store
     // item payloads
     $this->itemIterable = $this->getMockBuilder('\\eBayEnterprise\\RetailOrderManagement\\Payload\\Inventory\\IItemIterable')->disableOriginalConstructor()->setMethods(['attach', 'getEmptyShippingItem', 'getEmptyInStorePickUpItem'])->getMockForAbstractClass();
     // mock the request to return the iterable mock
     $this->request = $this->getMockBuilder('\\eBayEnterprise\\RetailOrderManagement\\Payload\\Inventory\\IInventoryDetailsRequest')->disableOriginalConstructor()->setMethods(['getItems'])->getMockForAbstractClass();
     $this->request->expects($this->any())->method('getItems')->will($this->returnValue($this->itemIterable));
     // avoid having to mock the item helper's dependencies
     $this->itemHelper = $this->getHelperMock('ebayenterprise_inventory/details_item', ['fillOutShippingItem']);
     // prevent magento events from actually triggering
     Mage::app()->disableEvents();
 }
 /**
  * build a shipping item payload for the request
  *
  * @param  Mage_Sales_Model_Quote_Item_Abstract
  * @param  Mage_Customer_Model_Address_Abstract
  * @return IPayload
  */
 protected function getShippingItem(Mage_Sales_Model_Quote_Item_Abstract $item, Mage_Customer_Model_Address_Abstract $address)
 {
     $payload = $this->request->getItems()->getEmptyShippingItem();
     $this->itemHelper->fillOutShippingItem($payload, $item, $address);
     return $payload;
 }