Skip to content

Commit e93a4e3

Browse files
authored
Merge pull request #6041 from magento-honey-badgers/28124-graphql-order-email
28124 graphql order emails are not sent
2 parents 7c52594 + c2c9d63 commit e93a4e3

File tree

3 files changed

+44
-7
lines changed

3 files changed

+44
-7
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
9+
<event name="sales_model_service_quote_submit_success">
10+
<observer name="sendEmail" instance="Magento\Quote\Observer\SubmitObserver" />
11+
</event>
12+
</config>

dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Customer/CheckoutEndToEndTest.php

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use Magento\Framework\Registry;
1414
use Magento\Quote\Model\ResourceModel\Quote\CollectionFactory as QuoteCollectionFactory;
1515
use Magento\Sales\Api\OrderRepositoryInterface;
16+
use Magento\Sales\Model\OrderFactory;
1617
use Magento\Sales\Model\ResourceModel\Order\CollectionFactory;
1718
use Magento\TestFramework\Helper\Bootstrap;
1819
use Magento\TestFramework\TestCase\GraphQlAbstract;
@@ -57,23 +58,31 @@ class CheckoutEndToEndTest extends GraphQlAbstract
5758
*/
5859
private $orderRepository;
5960

61+
/**
62+
* @var OrderFactory
63+
*/
64+
private $orderFactory;
65+
6066
/**
6167
* @var array
6268
*/
6369
private $headers = [];
6470

71+
/**
72+
* @inheritdoc
73+
*/
6574
protected function setUp(): void
6675
{
67-
parent::setUp();
68-
6976
$objectManager = Bootstrap::getObjectManager();
77+
7078
$this->registry = $objectManager->get(Registry::class);
7179
$this->quoteCollectionFactory = $objectManager->get(QuoteCollectionFactory::class);
7280
$this->quoteResource = $objectManager->get(QuoteResource::class);
7381
$this->quoteIdMaskFactory = $objectManager->get(QuoteIdMaskFactory::class);
74-
$this->customerRepository = Bootstrap::getObjectManager()->get(CustomerRepositoryInterface::class);
82+
$this->customerRepository = $objectManager->get(CustomerRepositoryInterface::class);
7583
$this->orderCollectionFactory = $objectManager->get(CollectionFactory::class);
7684
$this->orderRepository = $objectManager->get(OrderRepositoryInterface::class);
85+
$this->orderFactory = $objectManager->get(OrderFactory::class);
7786
}
7887

7988
/**
@@ -97,8 +106,13 @@ public function testCheckoutWorkflow()
97106
$paymentMethod = $this->setShippingMethod($cartId, $shippingMethod);
98107
$this->setPaymentMethod($cartId, $paymentMethod);
99108

100-
$orderId = $this->placeOrder($cartId);
101-
$this->checkOrderInHistory($orderId);
109+
$orderIncrementId = $this->placeOrder($cartId);
110+
111+
$order = $this->orderFactory->create();
112+
$order->loadByIncrementId($orderIncrementId);
113+
114+
$this->checkOrderInHistory($orderIncrementId);
115+
$this->assertNotEmpty($order->getEmailSent());
102116
}
103117

104118
/**
@@ -208,7 +222,7 @@ private function createEmptyCart(): string
208222
private function addProductToCart(string $cartId, float $qty, string $sku): void
209223
{
210224
$query = <<<QUERY
211-
mutation {
225+
mutation {
212226
addSimpleProductsToCart(
213227
input: {
214228
cart_id: "{$cartId}"
@@ -350,7 +364,7 @@ private function setShippingMethod(string $cartId, array $method): array
350364
$query = <<<QUERY
351365
mutation {
352366
setShippingMethodsOnCart(input: {
353-
cart_id: "{$cartId}",
367+
cart_id: "{$cartId}",
354368
shipping_methods: [
355369
{
356370
carrier_code: "{$method['carrier_code']}"

dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Guest/PlaceOrderTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Magento\Framework\Registry;
1212
use Magento\GraphQl\Quote\GetMaskedQuoteIdByReservedOrderId;
1313
use Magento\Sales\Api\OrderRepositoryInterface;
14+
use Magento\Sales\Model\OrderFactory;
1415
use Magento\Sales\Model\ResourceModel\Order\CollectionFactory;
1516
use Magento\TestFramework\Helper\Bootstrap;
1617
use Magento\TestFramework\TestCase\GraphQlAbstract;
@@ -40,6 +41,11 @@ class PlaceOrderTest extends GraphQlAbstract
4041
*/
4142
private $registry;
4243

44+
/**
45+
* @var OrderFactory
46+
*/
47+
private $orderFactory;
48+
4349
/**
4450
* @inheritdoc
4551
*/
@@ -49,6 +55,7 @@ protected function setUp(): void
4955
$this->getMaskedQuoteIdByReservedOrderId = $objectManager->get(GetMaskedQuoteIdByReservedOrderId::class);
5056
$this->orderCollectionFactory = $objectManager->get(CollectionFactory::class);
5157
$this->orderRepository = $objectManager->get(OrderRepositoryInterface::class);
58+
$this->orderFactory = $objectManager->get(OrderFactory::class);
5259
$this->registry = Bootstrap::getObjectManager()->get(Registry::class);
5360
}
5461

@@ -80,6 +87,10 @@ public function testPlaceOrder()
8087
self::assertArrayHasKey('placeOrder', $response);
8188
self::assertArrayHasKey('order_number', $response['placeOrder']['order']);
8289
self::assertEquals($reservedOrderId, $response['placeOrder']['order']['order_number']);
90+
$orderIncrementId = $response['placeOrder']['order']['order_number'];
91+
$order = $this->orderFactory->create();
92+
$order->loadByIncrementId($orderIncrementId);
93+
$this->assertNotEmpty($order->getEmailSent());
8394
}
8495

8596
/**

0 commit comments

Comments
 (0)