/** * Test redeeming gift cards that have been applied to an order - expecetd to * cover full total of order. */ public function testRedeemCard() { // need to replace the checkout session to prevent errors when instantiating the gift card container $this->_replaceSession('checkout/session'); $orderId = '5555555555'; $container = Mage::getModel('ebayenterprise_giftcard/container'); // set up a mock, unredeemed gift card - just want to ensure it is redeemed $cardToRedeem = $this->getModelMock('ebayenterprise_giftcard/giftcard', array('redeem'))->setCardNumber('1234')->setIsRedeemed(false)->setAmountRedeemed(5.0)->setAmountToRedeem(5.0); $cardToRedeem->expects($this->once())->method('redeem')->will($this->returnSelf()); $container->updateGiftCard($cardToRedeem); $order = Mage::getModel('sales/order', array('increment_id' => $orderId)); $this->_event->setOrder($order); Mage::getModel('ebayenterprise_giftcard/observer')->redeemGiftCards($this->_eventObserver); $this->assertSame($orderId, $cardToRedeem->getOrderId()); }
/** * Test redeeming gift cards that have been applied to an order - expecetd to * cover full total of order. */ public function testRedeemCard() { $this->getModelMockBuilder('core/session_abstract')->disableOriginalConstructor()->setMethods(null)->getMock(); // set up a mock, unredeemed gift card - just want to ensure it is redeemed $cardToRedeem = $this->getModelMock('ebayenterprise_giftcard/giftcard', ['redeem'])->setAmountRedeemed(5.0)->setAmountToRedeem(5.0); $cardToRedeem->expects($this->once())->method('redeem')->will($this->returnSelf()); // Set up an object storage of unredeemed cards, will include the card // that is expected to be redeemed. $unredeemedCards = new SplObjectStorage(); $unredeemedCards->attach($cardToRedeem); $orderId = '5555555555'; $container = $this->getModelMock('ebayenterprise_giftcard/container', ['getUnredeemedGiftCards']); $container->method('getUnredeemedGiftCards')->will($this->returnValue($unredeemedCards)); $order = Mage::getModel('sales/order', ['increment_id' => $orderId]); $this->_event->setOrder($order); Mage::getModel('ebayenterprise_giftcard/observer', ['gift_card_container' => $container])->redeemGiftCards($this->_eventObserver); $this->assertSame($orderId, $cardToRedeem->getOrderId()); }