public function testSendFailure()
 {
     $this->orderSenderMock->expects($this->once())->method('send')->willThrowException(new \Magento\Framework\Exception\MailException(__('test message')));
     $this->messageManagerMock->expects($this->once())->method('addWarning');
     $this->loggerMock->expects($this->once())->method('critical');
     $this->assertFalse($this->emailSender->send($this->orderMock));
 }
Example #2
0
 /**
  * Create new order
  *
  * @return \Magento\Sales\Model\Order
  */
 public function createOrder()
 {
     $this->_prepareCustomer();
     $this->_validate();
     $quote = $this->getQuote();
     $this->_prepareQuoteItems();
     $orderData = [];
     if ($this->getSession()->getOrder()->getId()) {
         $oldOrder = $this->getSession()->getOrder();
         $originalId = $oldOrder->getOriginalIncrementId();
         if (!$originalId) {
             $originalId = $oldOrder->getIncrementId();
         }
         $orderData = ['original_increment_id' => $originalId, 'relation_parent_id' => $oldOrder->getId(), 'relation_parent_real_id' => $oldOrder->getIncrementId(), 'edit_increment' => $oldOrder->getEditIncrement() + 1, 'increment_id' => $originalId . '-' . ($oldOrder->getEditIncrement() + 1)];
         $quote->setReservedOrderId($orderData['increment_id']);
     }
     $order = $this->quoteManagement->submit($quote, $orderData);
     if ($this->getSession()->getOrder()->getId()) {
         $oldOrder = $this->getSession()->getOrder();
         $oldOrder->setRelationChildId($order->getId());
         $oldOrder->setRelationChildRealId($order->getIncrementId());
         $this->orderManagement->cancel($oldOrder->getEntityId());
         $order->save();
     }
     if ($this->getSendConfirmation()) {
         $this->emailSender->send($order);
     }
     $this->_eventManager->dispatch('checkout_submit_all_after', ['order' => $order, 'quote' => $quote]);
     return $order;
 }
Example #3
0
 /**
  * Create new order
  *
  * @return \Magento\Sales\Model\Order
  */
 public function createOrder()
 {
     $this->_prepareCustomer();
     $this->_validate();
     $quote = $this->getQuote();
     $this->_prepareQuoteItems();
     /** @var $service \Magento\Sales\Model\Service\Quote */
     $service = $this->_objectManager->create('Magento\\Sales\\Model\\Service\\Quote', array('quote' => $quote));
     if ($this->getSession()->getOrder()->getId()) {
         $oldOrder = $this->getSession()->getOrder();
         $originalId = $oldOrder->getOriginalIncrementId();
         if (!$originalId) {
             $originalId = $oldOrder->getIncrementId();
         }
         $orderData = array('original_increment_id' => $originalId, 'relation_parent_id' => $oldOrder->getId(), 'relation_parent_real_id' => $oldOrder->getIncrementId(), 'edit_increment' => $oldOrder->getEditIncrement() + 1, 'increment_id' => $originalId . '-' . ($oldOrder->getEditIncrement() + 1));
         $quote->setReservedOrderId($orderData['increment_id']);
         $service->setOrderData($orderData);
     }
     $order = $service->submitOrderWithDataObject();
     if ($this->getSession()->getOrder()->getId()) {
         $oldOrder = $this->getSession()->getOrder();
         $oldOrder->setRelationChildId($order->getId());
         $oldOrder->setRelationChildRealId($order->getIncrementId());
         $oldOrder->cancel()->save();
         $order->save();
     }
     if ($this->getSendConfirmation()) {
         $this->emailSender->send($order);
     }
     $this->_eventManager->dispatch('checkout_submit_all_after', array('order' => $order, 'quote' => $quote));
     return $order;
 }