/** * @test * @loadFixture ../../../../../var/fixtures/orders.yaml */ public function testGetItemParams() { $fakeProduct = Mage::getModel('catalog/product'); $fakeProduct->setCategoryIds(array(1, 2)); $productMock = $this->getModelMock('catalog/product', array('load')); $productMock->expects($this->any())->method('load')->will($this->returnValue($fakeProduct)); $this->replaceByMock('model', 'catalog/product', $productMock); $fakeKwixoCategory = new Varien_Object(); $fakeKwixoCategory->setId(1); $fakeKwixoCategory->setKwixoCategoryId(123); $kwixoMapping = $this->getModelMock('ops/kwixo_category_mapping', array('loadByCategoryId')); $kwixoMapping->expects($this->any())->method('loadByCategoryId')->will($this->returnValue($fakeKwixoCategory)); $this->replaceByMock('model', 'ops/kwixo_category_mapping', $kwixoMapping); $order = Mage::getModel('sales/order')->load(11); $formFields = Mage::getModel('ops/payment_kwixo_abstract')->getItemParams($order); $orderItems = $order->getAllItems(); $i = 1; foreach ($orderItems as $orderItem) { $this->assertTrue(array_key_exists('ITEMID' . $i, $formFields)); $this->assertEquals($orderItem->getId(), $formFields['ITEMID' . $i]); $this->assertTrue(array_key_exists('ITEMNAME' . $i, $formFields)); $this->assertEquals($orderItem->getName(), $formFields['ITEMNAME' . $i]); $this->assertTrue(array_key_exists('ITEMPRICE' . $i, $formFields)); $this->assertEquals($orderItem->getBasePrice(), $formFields['ITEMPRICE' . $i]); $this->assertTrue(array_key_exists('ITEMQUANT' . $i, $formFields)); $this->assertEquals($orderItem->getQtyOrdered(), $formFields['ITEMQUANT' . $i]); $this->assertTrue(array_key_exists('ITEMVAT' . $i, $formFields)); $this->assertEquals($orderItem->getBaseTaxAmount(), $formFields['ITEMVAT' . $i]); $i++; } $fakeItem = new Varien_Object(); $fakeItem->setParentItemId(1); $fakeOrder = $this->getModelMock('sales/order', array('getAllItems')); $fakeOrder->expects($this->any())->method('getAllItems')->will($this->returnValue(array($fakeItem))); $formFields = Mage::getModel('ops/payment_kwixo_abstract')->getItemParams($fakeOrder); $this->assertArrayNotHasKey('ITEMID0', $formFields); }