Example #1
0
 public function testRunException()
 {
     $context = TestHelper::getContext();
     $arcavias = TestHelper::getArcavias();
     $mailStub = $this->getMockBuilder('MW_Mail_None')->disableOriginalConstructor()->getMock();
     $context->setMail($mailStub);
     $name = 'ControllerJobsEmailDeliveryDefaultRun';
     $context->getConfig()->set('classes/order/manager/name', $name);
     $orderManagerStub = $this->getMockBuilder('MShop_Order_Manager_Default')->setMethods(array('searchItems'))->setConstructorArgs(array($context))->getMock();
     MShop_Order_Manager_Factory::injectManager('MShop_Order_Manager_' . $name, $orderManagerStub);
     $orderItem = $orderManagerStub->createItem();
     $orderManagerStub->expects($this->exactly(4))->method('searchItems')->will($this->onConsecutiveCalls(array($orderItem), array(), array(), array()));
     $object = new Controller_Jobs_Order_Email_Delivery_Default($context, $arcavias);
     $object->run();
 }
Example #2
0
 public function testStore()
 {
     $context = TestHelper::getContext();
     $name = 'ControllerFrontendOrderStore';
     $context->getConfig()->set('classes/order/manager/name', $name);
     $orderManagerStub = $this->getMockBuilder('MShop_Order_Manager_Default')->setMethods(array('saveItem', 'getSubManager'))->setConstructorArgs(array($context))->getMock();
     $orderBaseManagerStub = $this->getMockBuilder('MShop_Order_Manager_Base_Default')->setMethods(array('store'))->setConstructorArgs(array($context))->getMock();
     MShop_Order_Manager_Factory::injectManager('MShop_Order_Manager_' . $name, $orderManagerStub);
     $orderBaseItem = $orderBaseManagerStub->createItem();
     $orderBaseItem->setId(1);
     $orderBaseManagerStub->expects($this->once())->method('store');
     $orderManagerStub->expects($this->once())->method('getSubManager')->will($this->returnValue($orderBaseManagerStub));
     $orderManagerStub->expects($this->once())->method('saveItem');
     $object = new Controller_Frontend_Order_Default($context);
     $object->store($orderBaseItem);
 }
Example #3
0
 public function testUpdate()
 {
     $context = TestHelper::getContext();
     $config = $context->getConfig();
     $name = 'ControllerCommonOrderBlock';
     $config->set('classes/order/manager/name', $name);
     $config->set('classes/product/manager/name', $name);
     $config->set('classes/coupon/manager/name', $name);
     $orderManagerStub = $this->getMockBuilder('MShop_Order_Manager_Default')->setMethods(array('getSubManager'))->setConstructorArgs(array($context))->getMock();
     $orderBaseManagerStub = $this->getMockBuilder('MShop_Order_Manager_Base_Default')->setMethods(array('getSubManager'))->setConstructorArgs(array($context))->getMock();
     $orderStatusManagerStub = $this->getMockBuilder('MShop_Order_Manager_Status_Default')->setMethods(array('saveItem', 'searchItems'))->setConstructorArgs(array($context))->getMock();
     $orderProductManagerStub = $this->getMockBuilder('MShop_Order_Manager_Base_Product_Default')->setMethods(array('searchItems'))->setConstructorArgs(array($context))->getMock();
     $orderCouponManagerStub = $this->getMockBuilder('MShop_Order_Manager_Base_Coupon_Default')->setMethods(array('searchItems'))->setConstructorArgs(array($context))->getMock();
     $productManagerStub = $this->getMockBuilder('MShop_Product_Manager_Default')->setMethods(array('getSubManager'))->setConstructorArgs(array($context))->getMock();
     $productStockManagerStub = $this->getMockBuilder('MShop_Product_Manager_Stock_Default')->setMethods(array('increase'))->setConstructorArgs(array($context))->getMock();
     $couponManagerStub = $this->getMockBuilder('MShop_Coupon_Manager_Default')->setMethods(array('getSubManager'))->setConstructorArgs(array($context))->getMock();
     $couponCodeManagerStub = $this->getMockBuilder('MShop_Coupon_Manager_Code_Default')->setMethods(array('increase'))->setConstructorArgs(array($context))->getMock();
     MShop_Order_Manager_Factory::injectManager('MShop_Order_Manager_' . $name, $orderManagerStub);
     MShop_Order_Manager_Factory::injectManager('MShop_Product_Manager_' . $name, $productManagerStub);
     MShop_Order_Manager_Factory::injectManager('MShop_Coupon_Manager_' . $name, $couponManagerStub);
     $orderStatusItemBlocked = $orderStatusManagerStub->createItem();
     $orderStatusItemBlocked->setValue(1);
     $orderStatusItemUnblocked = $orderStatusManagerStub->createItem();
     $orderStatusItemUnblocked->setValue(0);
     $orderManagerStub->expects($this->exactly(12))->method('getSubManager')->will($this->onConsecutiveCalls($orderStatusManagerStub, $orderBaseManagerStub, $orderStatusManagerStub, $orderStatusManagerStub, $orderBaseManagerStub, $orderStatusManagerStub, $orderStatusManagerStub, $orderBaseManagerStub, $orderStatusManagerStub, $orderStatusManagerStub, $orderBaseManagerStub, $orderStatusManagerStub));
     $orderBaseManagerStub->expects($this->exactly(4))->method('getSubManager')->will($this->onConsecutiveCalls($orderProductManagerStub, $orderCouponManagerStub, $orderProductManagerStub, $orderCouponManagerStub));
     $orderStatusManagerStub->expects($this->exactly(4))->method('searchItems')->will($this->onConsecutiveCalls(array($orderStatusItemUnblocked), array($orderStatusItemUnblocked), array($orderStatusItemBlocked), array($orderStatusItemBlocked)));
     $orderStatusManagerStub->expects($this->exactly(4))->method('saveItem');
     $orderProductManagerStub->expects($this->exactly(2))->method('searchItems')->will($this->returnValue(array($orderProductManagerStub->createItem())));
     $productManagerStub->expects($this->exactly(2))->method('getSubManager')->will($this->returnValue($productStockManagerStub));
     $productStockManagerStub->expects($this->exactly(2))->method('increase');
     $orderCouponManagerStub->expects($this->exactly(2))->method('searchItems')->will($this->returnValue(array($orderCouponManagerStub->createItem())));
     $couponManagerStub->expects($this->exactly(2))->method('getSubManager')->will($this->returnValue($couponCodeManagerStub));
     $couponCodeManagerStub->expects($this->exactly(2))->method('increase');
     $orderItem = $orderManagerStub->createItem();
     $orderItem->setPaymentStatus(MShop_Order_Item_Abstract::PAY_UNFINISHED);
     $object = new Controller_Common_Order_Default($context);
     $object->update($orderItem);
     $orderItem = $orderManagerStub->createItem();
     $orderItem->setPaymentStatus(MShop_Order_Item_Abstract::PAY_PENDING);
     $object = new Controller_Common_Order_Default($context);
     $object->update($orderItem);
     $orderItem = $orderManagerStub->createItem();
     $orderItem->setPaymentStatus(MShop_Order_Item_Abstract::PAY_DELETED);
     $object = new Controller_Common_Order_Default($context);
     $object->update($orderItem);
 }
Example #4
0
 public function testRun()
 {
     $context = TestHelper::getContext();
     $arcavias = TestHelper::getArcavias();
     $name = 'ControllerJobsOrderCleanupUnpaidDefaultRun';
     $context->getConfig()->set('classes/order/manager/name', $name);
     $orderManagerStub = $this->getMockBuilder('MShop_Order_Manager_Default')->setMethods(array('searchItems', 'getSubManager'))->setConstructorArgs(array($context))->getMock();
     $orderBaseManagerStub = $this->getMockBuilder('MShop_Order_Manager_Base_Default')->setMethods(array('deleteItems'))->setConstructorArgs(array($context))->getMock();
     MShop_Order_Manager_Factory::injectManager('MShop_Order_Manager_' . $name, $orderManagerStub);
     $orderItem = $orderManagerStub->createItem();
     $orderItem->setBaseId(1);
     $orderItem->setId(2);
     $orderManagerStub->expects($this->once())->method('getSubManager')->will($this->returnValue($orderBaseManagerStub));
     $orderManagerStub->expects($this->once())->method('searchItems')->will($this->returnValue(array($orderItem->getId() => $orderItem)));
     $orderBaseManagerStub->expects($this->once())->method('deleteItems');
     $object = new Controller_Jobs_Order_Cleanup_Unpaid_Default($context, $arcavias);
     $object->run();
 }
 /**
  * Sets up the fixture, for example, opens a network connection.
  * This method is called before a test is executed.
  *
  * @access protected
  */
 protected function setUp()
 {
     $this->_context = TestHelper::getContext();
     $serviceManager = MShop_Service_Manager_Factory::createManager($this->_context);
     $search = $serviceManager->createSearch();
     $search->setConditions($search->compare('==', 'service.code', 'paypalexpress'));
     $serviceItems = $serviceManager->searchItems($search);
     if (($this->_serviceItem = reset($serviceItems)) === false) {
         throw new Exception('No paypalexpress service item available');
     }
     $this->_object = new MShop_Service_Provider_Payment_PayPalExpress($this->_context, $this->_serviceItem);
     $orderManager = MShop_Order_Manager_Factory::createManager($this->_context);
     $search = $orderManager->createSearch();
     $expr = array($search->compare('==', 'order.type', MShop_Order_Item_Abstract::TYPE_WEB), $search->compare('==', 'order.statuspayment', MShop_Order_Item_Abstract::PAY_AUTHORIZED));
     $search->setConditions($search->combine('&&', $expr));
     $orderItems = $orderManager->searchItems($search);
     if (($this->_order = reset($orderItems)) === false) {
         throw new Exception(sprintf('No Order found with statuspayment "%1$s" and type "%2$s"', MShop_Order_Item_Abstract::PAY_AUTHORIZED, MShop_Order_Item_Abstract::TYPE_WEB));
     }
     $this->_context->getConfig()->set('classes/order/manager/name', 'MockPayPal');
     $orderMock = $this->getMock('MShop_Order_Manager_Default', array('saveItem'), array($this->_context));
     MShop_Order_Manager_Factory::injectManager('MShop_Order_Manager_MockPayPal', $orderMock);
 }
 public function testIsAvailableLimitTooMuch()
 {
     $this->_context->setUserId(1);
     $this->_context->getConfig()->set('classes/order/manager/name', 'DefaultMock');
     $this->_servItem->setConfig(array('ordercheck.limit-days-pending' => 1));
     $mock = $this->getMockBuilder('MShop_Order_Manager_Default')->setConstructorArgs(array($this->_context))->setMethods(array('searchItems'))->getMock();
     $mock->expects($this->once())->method('searchItems')->will($this->returnValue(array($mock->createItem())));
     MShop_Order_Manager_Factory::injectManager('MShop_Order_Manager_DefaultMock', $mock);
     $this->assertFalse($this->_object->isAvailable($this->_basket));
 }
Example #7
0
 public function testUpdateOrderService()
 {
     $context = TestHelper::getContext();
     $manager = MShop_Factory::createManager($context, 'customer');
     $search = $manager->createSearch();
     $search->setConditions($search->compare('==', 'customer.code', 'UTC001'));
     $result = $manager->searchItems($search);
     if (($customer = reset($result)) === false) {
         throw new Exception('No customer item for code UTC001" found');
     }
     $orderStub = $this->getMockBuilder('MShop_Order_Manager_Default')->setConstructorArgs(array($context))->setMethods(array('getSubManager'))->getMock();
     $orderBaseStub = $this->getMockBuilder('MShop_Order_Manager_Base_Default')->setConstructorArgs(array($context))->setMethods(array('getSubManager'))->getMock();
     $orderBaseServiceStub = $this->getMockBuilder('MShop_Order_Manager_Base_Service_Default')->setConstructorArgs(array($context))->setMethods(array('searchItems'))->getMock();
     $item1 = $orderBaseServiceStub->createItem();
     $item1->setType(MShop_Order_Item_Base_Service_Abstract::TYPE_DELIVERY);
     $item1->setCode('unitcode');
     $item2 = $orderBaseServiceStub->createItem();
     $item2->setType(MShop_Order_Item_Base_Service_Abstract::TYPE_PAYMENT);
     $item2->setCode('unitpaymentcode');
     $orderStub->expects($this->any())->method('getSubManager')->will($this->returnValue($orderBaseStub));
     $orderBaseStub->expects($this->any())->method('getSubManager')->will($this->returnValue($orderBaseServiceStub));
     $orderBaseServiceStub->expects($this->once())->method('searchItems')->will($this->returnValue(array($item1, $item2)));
     MShop_Order_Manager_Factory::injectManager('MShop_Order_Manager_PluginAutofill', $orderStub);
     $context->getConfig()->set('classes/order/manager/name', 'PluginAutofill');
     $context->setUserId($customer->getId());
     $this->_plugin->setConfig(array('autofill.useorder' => '1', 'autofill.orderaddress' => '0', 'autofill.orderservice' => '1'));
     $object = new MShop_Plugin_Provider_Order_Autofill($context, $this->_plugin);
     $this->assertTrue($object->update($this->_order, 'addProduct.after'));
     $this->assertEquals(2, count($this->_order->getServices()));
     $this->assertEquals(array(), $this->_order->getAddresses());
 }
Example #8
0
 public function testRunExceptionProvider()
 {
     $context = TestHelper::getContext();
     $arcavias = TestHelper::getArcavias();
     $name = 'ControllerJobsServiceDeliveryProcessDefaultRun';
     $context->getConfig()->set('classes/service/manager/name', $name);
     $context->getConfig()->set('classes/order/manager/name', $name);
     $orderManagerStub = $this->getMockBuilder('MShop_Order_Manager_Default')->setMethods(array('saveItem', 'searchItems'))->setConstructorArgs(array($context))->getMock();
     $serviceManagerStub = $this->getMockBuilder('MShop_Service_Manager_Default')->setMethods(array('getProvider', 'searchItems'))->setConstructorArgs(array($context))->getMock();
     MShop_Service_Manager_Factory::injectManager('MShop_Service_Manager_' . $name, $serviceManagerStub);
     MShop_Order_Manager_Factory::injectManager('MShop_Order_Manager_' . $name, $orderManagerStub);
     $serviceItem = $serviceManagerStub->createItem();
     $serviceManagerStub->expects($this->once())->method('searchItems')->will($this->onConsecutiveCalls(array($serviceItem), array()));
     $serviceManagerStub->expects($this->once())->method('getProvider')->will($this->throwException(new MShop_Service_Exception('test sorder service delivery: getProvider')));
     $orderManagerStub->expects($this->never())->method('searchItems');
     $object = new Controller_Jobs_Order_Service_Delivery_Default($context, $arcavias);
     $object->run();
 }