Skip to content

Commit afd51ce

Browse files
committed
Fix review coments
1 parent a8eec06 commit afd51ce

File tree

2 files changed

+52
-19
lines changed

2 files changed

+52
-19
lines changed

app/code/Magento/QuoteGraphQl/etc/schema.graphqls

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ interface CartItemInterface @typeResolver(class: "Magento\\QuoteGraphQl\\Model\\
360360
id: String! @deprecated(reason: "Use `uid` instead.")
361361
uid: ID! @doc(description: "The unique ID for a `CartItemInterface` object.")
362362
quantity: Float! @doc(description: "The quantity of this item in the cart.")
363-
is_available: Boolean! @resolver(class: "\\Magento\\QuoteGraphQl\\Model\\Resolver\\CheckProductStockAvailability") @doc(description: "If qty is more than stock display status as unavailable else available.")
363+
is_available: Boolean! @resolver(class: "\\Magento\\QuoteGraphQl\\Model\\Resolver\\CheckProductStockAvailability") @doc(description: "True if requested quantity is less than available stock, false otherwise.")
364364
prices: CartItemPrices @resolver(class: "\\Magento\\QuoteGraphQl\\Model\\Resolver\\CartItemPrices") @doc(description: "Contains details about the price of the item, including taxes and discounts.")
365365
product: ProductInterface! @doc(description: "Details about an item in the cart.")
366366
errors: [CartItemError!] @resolver(class: "\\Magento\\QuoteGraphQl\\Model\\Resolver\\CartItemErrors") @doc(description: "An array of errors encountered while loading the cart item")

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

Lines changed: 51 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -86,24 +86,47 @@ public function testStockStatusUnavailableSimpleProduct(): void
8686
$response = $this->graphQlMutation($query);
8787
$responseDataObject = new DataObject($response);
8888

89-
self::assertEquals(false, $responseDataObject->getData('cart/items/0/is_available'));
89+
self::assertFalse(
90+
$responseDataObject->getData('cart/items/0/is_available')
91+
);
9092
}
9193

9294
#[
93-
DataFixture(ProductFixture::class, ['sku' => self::SKU, 'price' => 100.00], as: 'product'),
95+
DataFixture(ProductFixture::class, ['price' => 100.00], as: 'product'),
9496
DataFixture(GuestCartFixture::class, as: 'cart'),
9597
DataFixture(AddProductToCart::class, ['cart_id' => '$cart.id$', 'product_id' => '$product.id$', 'qty' => 100]),
9698
DataFixture(QuoteMaskFixture::class, ['cart_id' => '$cart.id$'], 'quoteIdMask')
9799
]
98-
public function testStockStatusUnavailableAddSimpleProduct(): void
100+
public function testStockStatusAvailableSimpleProduct(): void
99101
{
100102
$maskedQuoteId = $this->fixtures->get('quoteIdMask')->getMaskedId();
101-
$query = $this->mutationAddSimpleProduct($maskedQuoteId, self::SKU, 1);
103+
$query = $this->getQuery($maskedQuoteId);
102104
$response = $this->graphQlMutation($query);
103105
$responseDataObject = new DataObject($response);
104106

105-
self::assertEquals(
106-
false,
107+
self::assertTrue(
108+
$responseDataObject->getData('cart/items/0/is_available')
109+
);
110+
}
111+
112+
#[
113+
DataFixture(ProductFixture::class, ['sku' => self::SKU, 'price' => 100.00], as: 'product'),
114+
DataFixture(GuestCartFixture::class, as: 'cart'),
115+
DataFixture(AddProductToCart::class, ['cart_id' => '$cart.id$', 'product_id' => '$product.id$', 'qty' => 99]),
116+
DataFixture(QuoteMaskFixture::class, ['cart_id' => '$cart.id$'], 'quoteIdMask')
117+
]
118+
public function testStockStatusAddSimpleProduct(): void
119+
{
120+
$maskedQuoteId = $this->fixtures->get('quoteIdMask')->getMaskedId();
121+
$query = $this->mutationAddSimpleProduct($maskedQuoteId, self::SKU, 1);
122+
$response = $this->graphQlMutation($query);
123+
$responseDataObject = new DataObject($response);
124+
self::assertTrue(
125+
$responseDataObject->getData('addProductsToCart/cart/items/0/is_available')
126+
);
127+
$response = $this->graphQlMutation($query);
128+
$responseDataObject = new DataObject($response);
129+
self::assertFalse(
107130
$responseDataObject->getData('addProductsToCart/cart/items/0/is_available')
108131
);
109132
}
@@ -144,8 +167,7 @@ public function testStockStatusUnavailableBundleProduct(): void
144167
$response = $this->graphQlMutation($query);
145168
$responseDataObject = new DataObject($response);
146169

147-
self::assertEquals(
148-
false,
170+
self::assertFalse(
149171
$responseDataObject->getData('cart/items/0/is_available')
150172
);
151173
}
@@ -173,12 +195,12 @@ public function testStockStatusUnavailableBundleProduct(): void
173195
'cart_id' => '$cart.id$',
174196
'product_id' => '$bundleProduct.id$',
175197
'selections' => [['$product.id$']],
176-
'qty' => 100
198+
'qty' => 99
177199
],
178200
),
179201
DataFixture(QuoteMaskFixture::class, ['cart_id' => '$cart.id$'], 'quoteIdMask')
180202
]
181-
public function testStockStatusUnavailableAddBundleProduct(): void
203+
public function testStockStatusAddBundleProduct(): void
182204
{
183205
$product = $this->productRepository->get(self::PARENT_SKU_BUNDLE);
184206

@@ -198,9 +220,14 @@ public function testStockStatusUnavailableAddBundleProduct(): void
198220
$query = $this->mutationAddBundleProduct($maskedQuoteId, self::PARENT_SKU_BUNDLE, $bundleOptionIdV2);
199221
$response = $this->graphQlMutation($query);
200222
$responseDataObject = new DataObject($response);
223+
self::assertTrue(
224+
$responseDataObject->getData('addProductsToCart/cart/items/0/is_available')
225+
);
201226

202-
self::assertEquals(
203-
false,
227+
$response = $this->graphQlMutation($query);
228+
$responseDataObject = new DataObject($response);
229+
230+
self::assertFalse(
204231
$responseDataObject->getData('addProductsToCart/cart/items/0/is_available')
205232
);
206233
}
@@ -233,8 +260,7 @@ public function testStockStatusUnavailableConfigurableProduct(): void
233260
$response = $this->graphQlMutation($query);
234261
$responseDataObject = new DataObject($response);
235262

236-
self::assertEquals(
237-
false,
263+
self::assertFalse(
238264
$responseDataObject->getData('cart/items/0/is_available')
239265
);
240266
}
@@ -259,15 +285,18 @@ public function testStockStatusUnavailableConfigurableProduct(): void
259285
],
260286
)
261287
]
262-
public function testStockStatusUnavailableAddConfigurableProduct(): void
288+
public function testStockStatusAddConfigurableProduct(): void
263289
{
264290
$maskedQuoteId = $this->fixtures->get('quoteIdMask')->getMaskedId();
265291
$query = $this->mutationAddConfigurableProduct($maskedQuoteId, self::SKU, self::PARENT_SKU_CONFIGURABLE);
266292
$response = $this->graphQlMutation($query);
267293
$responseDataObject = new DataObject($response);
268-
269-
self::assertEquals(
270-
false,
294+
self::assertTrue(
295+
$responseDataObject->getData('addProductsToCart/cart/items/1/is_available')
296+
);
297+
$response = $this->graphQlMutation($query);
298+
$responseDataObject = new DataObject($response);
299+
self::assertFalse(
271300
$responseDataObject->getData('addProductsToCart/cart/items/0/is_available')
272301
);
273302
}
@@ -369,6 +398,10 @@ private function mutationAddConfigurableProduct(
369398
}
370399
}
371400
}
401+
user_errors {
402+
code
403+
message
404+
}
372405
}
373406
}
374407
QUERY;

0 commit comments

Comments
 (0)