Skip to content

Commit 9b61b5c

Browse files
committed
ACPT-1666: Fix race conditions in _resetState methods
1 parent c43fd66 commit 9b61b5c

File tree

3 files changed

+41
-77
lines changed

3 files changed

+41
-77
lines changed

dev/tests/integration/testsuite/Magento/GraphQl/App/GraphQlCheckoutMutationsStateTest.php

Lines changed: 41 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99

1010
use Magento\Catalog\Api\ProductRepositoryInterface;
1111
use Magento\GraphQl\App\State\GraphQlStateDiff;
12+
use Magento\Quote\Test\Fixture\GuestCart as GuestCartFixture;
13+
use Magento\TestFramework\Fixture\DataFixture;
14+
use Magento\TestFramework\Fixture\DataFixtureStorage;
15+
use Magento\TestFramework\Fixture\DataFixtureStorageManager;
1216

1317
/**
1418
* Tests the dispatch method in the GraphQl Controller class using a simple product query
@@ -25,12 +29,18 @@ class GraphQlCheckoutMutationsStateTest extends \PHPUnit\Framework\TestCase
2529
*/
2630
private ?GraphQlStateDiff $graphQlStateDiff = null;
2731

32+
/**
33+
* @var DataFixtureStorage
34+
*/
35+
private DataFixtureStorage $fixtures;
36+
2837
/**
2938
* @inheritDoc
3039
*/
3140
protected function setUp(): void
3241
{
3342
$this->graphQlStateDiff = new GraphQlStateDiff();
43+
$this->fixtures = Bootstrap::getObjectManager()->get(DataFixtureStorageManager::class)->getStorage();
3444
parent::setUp();
3545
}
3646

@@ -61,14 +71,17 @@ public function testCreateEmptyCart() : void
6171
}
6272

6373
/**
64-
* @magentoDataFixture Magento/GraphQl/Quote/_files/guest/create_two_empty_carts.php
6574
* @magentoDataFixture Magento/GraphQl/Catalog/_files/simple_product.php
6675
* @return void
6776
*/
68-
public function testAddSimpleProductToCart()
77+
#[
78+
DataFixture(GuestCartFixture::class, as: 'cart1'),
79+
DataFixture(GuestCartFixture::class, as: 'cart2'),
80+
]
81+
public function testAddSimpleProductToCart(): void
6982
{
70-
$cartId1 = $this->graphQlStateDiff->getCartIdHash('test_quote1');
71-
$cartId2 = $this->graphQlStateDiff->getCartIdHash('test_quote2');
83+
$cartId1 = $this->fixtures->get('cart1')->getId();
84+
$cartId2 = $this->fixtures->get('cart2')->getId();
7285
$query = $this->getAddProductToCartQuery();
7386
$this->graphQlStateDiff->testState(
7487
$query,
@@ -105,14 +118,17 @@ public function testAddCouponToCart()
105118
}
106119

107120
/**
108-
* @magentoDataFixture Magento/GraphQl/Quote/_files/guest/create_two_empty_carts.php
109121
* @magentoDataFixture Magento/GraphQl/Catalog/_files/virtual_product.php
110122
* @return void
111123
*/
124+
#[
125+
DataFixture(GuestCartFixture::class, as: 'cart1'),
126+
DataFixture(GuestCartFixture::class, as: 'cart2'),
127+
]
112128
public function testAddVirtualProductToCart()
113129
{
114-
$cartId1 = $this->graphQlStateDiff->getCartIdHash('test_quote1');
115-
$cartId2 = $this->graphQlStateDiff->getCartIdHash('test_quote2');
130+
$cartId1 = $this->fixtures->get('cart1')->getId();
131+
$cartId2 = $this->fixtures->get('cart2')->getId();
116132
$query = $this->getAddVirtualProductToCartQuery();
117133
$this->graphQlStateDiff->testState(
118134
$query,
@@ -126,14 +142,17 @@ public function testAddVirtualProductToCart()
126142
}
127143

128144
/**
129-
* @magentoDataFixture Magento/GraphQl/Quote/_files/guest/create_two_empty_carts.php
130145
* @magentoDataFixture Magento/Bundle/_files/product.php
131146
* @return void
132147
*/
148+
#[
149+
DataFixture(GuestCartFixture::class, as: 'cart1'),
150+
DataFixture(GuestCartFixture::class, as: 'cart2'),
151+
]
133152
public function testAddBundleProductToCart()
134153
{
135-
$cartId1 = $this->graphQlStateDiff->getCartIdHash('test_quote1');
136-
$cartId2 = $this->graphQlStateDiff->getCartIdHash('test_quote2');
154+
$cartId1 = $this->fixtures->get('cart1')->getId();
155+
$cartId2 = $this->fixtures->get('cart2')->getId();
137156
$query = $this->getAddBundleProductToCartQuery('bundle-product');
138157
$this->graphQlStateDiff->testState(
139158
$query,
@@ -147,14 +166,17 @@ public function testAddBundleProductToCart()
147166
}
148167

149168
/**
150-
* @magentoDataFixture Magento/GraphQl/Quote/_files/guest/create_two_empty_carts.php
151169
* @magentoDataFixture Magento/ConfigurableProduct/_files/product_configurable.php
152170
* @return void
153171
*/
172+
#[
173+
DataFixture(GuestCartFixture::class, as: 'cart1'),
174+
DataFixture(GuestCartFixture::class, as: 'cart2'),
175+
]
154176
public function testAddConfigurableProductToCart(): void
155177
{
156-
$cartId1 = $this->graphQlStateDiff->getCartIdHash('test_quote1');
157-
$cartId2 = $this->graphQlStateDiff->getCartIdHash('test_quote2');
178+
$cartId1 = $this->fixtures->get('cart1')->getId();
179+
$cartId2 = $this->fixtures->get('cart2')->getId();
158180
$query = $this->getAddConfigurableProductToCartQuery();
159181
$this->graphQlStateDiff->testState(
160182
$query,
@@ -168,14 +190,17 @@ public function testAddConfigurableProductToCart(): void
168190
}
169191

170192
/**
171-
* @magentoDataFixture Magento/GraphQl/Quote/_files/guest/create_two_empty_carts.php
172193
* @magentoDataFixture Magento/Downloadable/_files/product_downloadable_with_purchased_separately_links.php
173194
* @return void
174195
*/
196+
#[
197+
DataFixture(GuestCartFixture::class, as: 'cart1'),
198+
DataFixture(GuestCartFixture::class, as: 'cart2'),
199+
]
175200
public function testAddDownloadableProductToCart(): void
176201
{
177-
$cartId1 = $this->graphQlStateDiff->getCartIdHash('test_quote1');
178-
$cartId2 = $this->graphQlStateDiff->getCartIdHash('test_quote2');
202+
$cartId1 = $this->fixtures->get('cart1')->getId();
203+
$cartId2 = $this->fixtures->get('cart2')->getId();
179204
$sku = 'downloadable-product-with-purchased-separately-links';
180205
$links = $this->getProductsLinks($sku);
181206
$linkId = key($links);

dev/tests/integration/testsuite/Magento/GraphQl/Quote/_files/guest/create_two_empty_carts.php

Lines changed: 0 additions & 30 deletions
This file was deleted.

dev/tests/integration/testsuite/Magento/GraphQl/Quote/_files/guest/create_two_empty_carts_rollback.php

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)