Skip to content

Commit e454748

Browse files
committed
ACP2E-42: [Magento Cloud] Null response under items list in shopping cart with out of stock product
1 parent 5658e50 commit e454748

File tree

2 files changed

+43
-3
lines changed

2 files changed

+43
-3
lines changed

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,24 +209,25 @@ public function testAddDisabledProductToCart(): void
209209
* @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php
210210
* @magentoApiDataFixture Magento/Catalog/_files/multiple_products.php
211211
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php
212-
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product.php
213212
* @magentoApiDataFixture Magento/GraphQl/Catalog/_files/set_simple_product_out_of_stock.php
214213
* @return void
215214
* @throws NoSuchEntityException
216215
*/
217216
public function testAddOutOfStockProductToCart(): void
218217
{
219218
$sku = 'simple1';
219+
$skuOutOfStock = 'simple_product';
220220
$quantity = 1;
221221

222222
$maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote');
223223
$query = $this->getQuery($maskedQuoteId, $sku, $quantity);
224+
$this->graphQlMutation($query);
224225

225226
$this->expectException(ResponseContainsErrorsException::class);
226227
$this->expectExceptionMessage(
227-
'Some of the products are out of stock.'
228+
'Product that you are trying to add is not available'
228229
);
229-
230+
$query = $this->getQuery($maskedQuoteId, $skuOutOfStock, $quantity);
230231
$this->graphQlMutation($query);
231232
}
232233

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

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,41 @@ public function testGetCart()
6262
self::assertEquals('virtual-product', $response['cart']['items'][1]['product']['sku']);
6363
}
6464

65+
/**
66+
* @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php
67+
* @magentoApiDataFixture Magento/Catalog/_files/product_virtual.php
68+
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php
69+
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product.php
70+
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_virtual_product.php
71+
* @magentoApiDataFixture Magento/GraphQl/Catalog/_files/set_simple_product_out_of_stock.php
72+
*/
73+
public function testCartErrorWithOutOfStockItem()
74+
{
75+
$maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote');
76+
$query = $this->getQuery($maskedQuoteId);
77+
78+
$response = $this->graphQlQuery($query);
79+
80+
self::assertArrayHasKey('cart', $response);
81+
self::assertArrayHasKey('items', $response['cart']);
82+
self::assertArrayHasKey('errors', $response['cart']['items'][0]);
83+
self::assertEquals(
84+
'There are no source items with the in stock status',
85+
$response['cart']['items'][0]['errors'][0]['message']
86+
);
87+
self::assertArrayHasKey('id', $response['cart']);
88+
self::assertEquals($maskedQuoteId, $response['cart']['id']);
89+
self::assertCount(2, $response['cart']['items']);
90+
91+
self::assertNotEmpty($response['cart']['items'][0]['id']);
92+
self::assertEquals(2, $response['cart']['items'][0]['quantity']);
93+
self::assertEquals('simple_product', $response['cart']['items'][0]['product']['sku']);
94+
95+
self::assertNotEmpty($response['cart']['items'][1]['id']);
96+
self::assertEquals(2, $response['cart']['items'][1]['quantity']);
97+
self::assertEquals('virtual-product', $response['cart']['items'][1]['product']['sku']);
98+
}
99+
65100
/**
66101
* _security
67102
* @magentoApiDataFixture Magento/Customer/_files/customer.php
@@ -279,6 +314,10 @@ private function getQuery(string $maskedQuoteId): string
279314
currency
280315
}
281316
}
317+
errors {
318+
code
319+
message
320+
}
282321
}
283322
}
284323
}

0 commit comments

Comments
 (0)