Skip to content

Commit b1f3a7a

Browse files
akaashakaash
authored andcommitted
ACQE-5215
1 parent ca30c47 commit b1f3a7a

File tree

1 file changed

+79
-0
lines changed
  • dev/tests/integration/testsuite/Magento/Sales/Controller/Guest

1 file changed

+79
-0
lines changed

dev/tests/integration/testsuite/Magento/Sales/Controller/Guest/ReorderTest.php

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,16 @@
99

1010
use Magento\Checkout\Model\Session as CheckoutSession;
1111
use Magento\Customer\Model\Session;
12+
use Magento\Framework\Exception\LocalizedException;
1213
use Magento\Framework\Exception\NoSuchEntityException;
1314
use Magento\Framework\Message\MessageInterface;
1415
use Magento\Framework\Stdlib\CookieManagerInterface;
1516
use Magento\Quote\Api\CartRepositoryInterface;
1617
use Magento\Sales\Api\Data\OrderInterfaceFactory;
1718
use Magento\Sales\Helper\Guest;
19+
use Magento\Sales\Model\Order\Creditmemo;
20+
use Magento\Sales\Model\Order\Creditmemo\Item;
21+
use Magento\TestFramework\Mail\Template\TransportBuilderMock;
1822
use Magento\TestFramework\Request;
1923
use Magento\TestFramework\TestCase\AbstractController;
2024

@@ -42,6 +46,21 @@ class ReorderTest extends AbstractController
4246
/** @var CartRepositoryInterface */
4347
private $quoteRepository;
4448

49+
/**
50+
* @var string
51+
*/
52+
private $testMailbox;
53+
54+
/**
55+
* @var string
56+
*/
57+
private $expectedSubject;
58+
59+
/**
60+
* @var TransportBuilderMock
61+
*/
62+
private $transportBuilder;
63+
4564
/**
4665
* @inheritdoc
4766
*/
@@ -54,6 +73,7 @@ protected function setUp(): void
5473
$this->cookieManager = $this->_objectManager->get(CookieManagerInterface::class);
5574
$this->customerSession = $this->_objectManager->get(Session::class);
5675
$this->quoteRepository = $this->_objectManager->get(CartRepositoryInterface::class);
76+
$this->transportBuilder = $this->_objectManager->get(TransportBuilderMock::class);
5777
}
5878

5979
/**
@@ -136,4 +156,63 @@ private function dispatchReorderRequest(): void
136156
$this->getRequest()->setMethod(Request::METHOD_POST);
137157
$this->dispatch('sales/guest/reorder/');
138158
}
159+
160+
/**
161+
* @magentoDbIsolation disabled
162+
*
163+
* @magentoDataFixture Magento/Sales/_files/order_by_guest_with_simple_product.php
164+
*
165+
* @return void
166+
* @throws LocalizedException
167+
*/
168+
public function testOrderNumberIsPresentInCreditMemoEmail(): void
169+
{
170+
$orderIncrementId = 'test_order_1';
171+
$order = $this->orderFactory->create()->loadByIncrementId($orderIncrementId);
172+
$storeId = $order->getStoreId();
173+
174+
// Create an Invoice for the Order
175+
$invoice = $order->prepareInvoice()->register();
176+
$invoice->pay();
177+
178+
// Submit the Invoice
179+
$invoice->getOrder()->setIsInProcess(true);
180+
$this->_objectManager->create(\Magento\Framework\DB\Transaction::class)
181+
->addObject($invoice)
182+
->addObject($invoice->getOrder())
183+
->save();
184+
185+
// Create a Credit Memo
186+
$creditmemo = $this->_objectManager->create(Creditmemo::class)
187+
->setOrder($order);
188+
189+
foreach ($order->getAllItems() as $orderItem) {
190+
$creditmemoItem = $this->_objectManager->create(Item::class)
191+
->setOrderItem($orderItem)
192+
->setQty($orderItem->getQtyOrdered())
193+
->setBackToStock(true);
194+
$creditmemo->addItem($creditmemoItem);
195+
}
196+
197+
$this->_objectManager->create(\Magento\Framework\DB\Transaction::class)
198+
->addObject($invoice)
199+
->addObject($invoice->getOrder())
200+
->save();
201+
202+
// Set the test mailbox and expected email subject
203+
$this->testMailbox = 'test@example.com';
204+
$this->expectedSubject = 'Credit memo for your Main Website Store order';
205+
206+
// Send the Credit Memo email
207+
$creditmemo->setEmailSent(true);
208+
$invoice->setEmailSent(true);
209+
$this->_objectManager->create(\Magento\Framework\DB\Transaction::class)
210+
->addObject($invoice)
211+
->save();
212+
213+
$message = $this->transportBuilder->getSentMessage();
214+
215+
// Verify email in the mailbox
216+
$this->assertEquals(this->expectedSubject, $message->getSubject());
217+
}
139218
}

0 commit comments

Comments
 (0)