/** * Covers \Magento\Multishipping\Block\Checkout\Payment\Info and \Magento\Multishipping\Block\Checkout\Overview * * @magentoConfigFixture current_store multishipping/options/checkout_multiple 1 */ public function testOverviewAction() { /** @var \Magento\Framework\Data\Form\FormKey $formKey */ $formKey = $this->_objectManager->get('Magento\\Framework\\Data\\Form\\FormKey'); $logger = $this->getMock('Psr\\Log\\LoggerInterface', [], [], '', false); /** @var \Magento\Customer\Api\AccountManagementInterface $service */ $service = $this->_objectManager->create('Magento\\Customer\\Api\\AccountManagementInterface'); $customer = $service->authenticate('*****@*****.**', 'password'); /** @var \Magento\Customer\Model\Session $customerSession */ $customerSession = $this->_objectManager->create('Magento\\Customer\\Model\\Session', [$logger]); $customerSession->setCustomerDataAsLoggedIn($customer); $this->checkoutSession->setCheckoutState(State::STEP_BILLING); $this->getRequest()->setPostValue('payment', ['method' => 'checkmo']); $this->dispatch('multishipping/checkout/overview'); $html = $this->getResponse()->getBody(); $this->assertContains('<div class="box box-billing-method">', $html); $this->assertContains('<div class="box box-shipping-method">', $html); $this->assertContains('<dt class="title">' . $this->quote->getPayment()->getMethodInstance()->getTitle() . '</dt>', $html); $this->assertContains('<span class="price">$10.00</span>', $html); $this->assertContains('<input name="form_key" type="hidden" value="' . $formKey->getFormKey(), $html); }
/** * Map STEP_SELECT_ADDRESSES to Cart::CHECKOUT_STATE_BEGIN * @param \Magento\Checkout\Model\Cart $subject * @return void * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function beforeSave(\Magento\Checkout\Model\Cart $subject) { if ($this->checkoutSession->getCheckoutState() === State::STEP_SELECT_ADDRESSES) { $this->checkoutSession->setCheckoutState(\Magento\Checkout\Model\Session::CHECKOUT_STATE_BEGIN); } }