diff --git a/app/code/Magento/Catalog/Test/Mftf/ActionGroup/AddProductToCartActionGroup.xml b/app/code/Magento/Catalog/Test/Mftf/ActionGroup/AddProductToCartActionGroup.xml index a544be434f9c5..97d4ac5389311 100644 --- a/app/code/Magento/Catalog/Test/Mftf/ActionGroup/AddProductToCartActionGroup.xml +++ b/app/code/Magento/Catalog/Test/Mftf/ActionGroup/AddProductToCartActionGroup.xml @@ -12,6 +12,7 @@ + diff --git a/app/code/Magento/Catalog/Test/Mftf/Data/CatalogInventoryConfigData.xml b/app/code/Magento/Catalog/Test/Mftf/Data/CatalogInventoryConfigData.xml new file mode 100644 index 0000000000000..c9b67e0db4398 --- /dev/null +++ b/app/code/Magento/Catalog/Test/Mftf/Data/CatalogInventoryConfigData.xml @@ -0,0 +1,33 @@ + + + + + + cataloginventory/options/show_out_of_stock + Yes + 1 + + + + cataloginventory/options/show_out_of_stock + No + 0 + + + cataloginventory/item_options/backorders + Yes + 1 + + + + cataloginventory/item_options/backorders + No + 0 + + diff --git a/app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml b/app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml index 06d15b9c50771..62276b12b99b6 100644 --- a/app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml +++ b/app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml @@ -153,6 +153,18 @@ 1 0 + + testSku + simple + 4 + 4 + SimpleProductInStockQuantityZero + 123.00 + SimpleProductInStockQuantityZero + 1 + 0 + EavStock0 + testSku diff --git a/app/code/Magento/Catalog/Test/Mftf/Data/ProductExtensionAttributeData.xml b/app/code/Magento/Catalog/Test/Mftf/Data/ProductExtensionAttributeData.xml index edbb02987f179..5a6a0b5dd9518 100644 --- a/app/code/Magento/Catalog/Test/Mftf/Data/ProductExtensionAttributeData.xml +++ b/app/code/Magento/Catalog/Test/Mftf/Data/ProductExtensionAttributeData.xml @@ -20,6 +20,9 @@ Qty_1 + + Qty_0 + Qty_777 diff --git a/app/code/Magento/Catalog/Test/Mftf/Data/StockItemData.xml b/app/code/Magento/Catalog/Test/Mftf/Data/StockItemData.xml index 720412150f0be..32f4dc1404dd7 100644 --- a/app/code/Magento/Catalog/Test/Mftf/Data/StockItemData.xml +++ b/app/code/Magento/Catalog/Test/Mftf/Data/StockItemData.xml @@ -32,6 +32,10 @@ 1 true + + 0 + true + 777 true diff --git a/app/code/Magento/Catalog/Test/Mftf/Test/AdminBackorderAllowedAddProductToCartTest.xml b/app/code/Magento/Catalog/Test/Mftf/Test/AdminBackorderAllowedAddProductToCartTest.xml new file mode 100644 index 0000000000000..88c524eff387c --- /dev/null +++ b/app/code/Magento/Catalog/Test/Mftf/Test/AdminBackorderAllowedAddProductToCartTest.xml @@ -0,0 +1,53 @@ + + + + + + + + + <description value="Customer should be able to add products to cart when that products quantity is zero"/> + <severity value="CRITICAL"/> + <testCaseId value="MC-11063"/> + <group value="mtf_migrated"/> + </annotations> + + <before> + <!-- Create a product that is "In Stock" but has quantity zero --> + <createData entity="SimpleProductInStockQuantityZero" stepKey="createProduct"/> + + <!-- Configure Magento to show out of stock products and to allow backorders --> + <magentoCLI command="config:set {{CatalogInventoryOptionsShowOutOfStockEnable.path}} {{CatalogInventoryOptionsShowOutOfStockEnable.value}}" stepKey="setConfigShowOutOfStockTrue"/> + <magentoCLI command="config:set {{CatalogInventoryItemOptionsBackordersEnable.path}} {{CatalogInventoryItemOptionsBackordersEnable.value}}" stepKey="setConfigAllowBackordersTrue"/> + </before> + + <after> + <!-- Set Magento back to default configuration --> + <magentoCLI command="config:set {{CatalogInventoryOptionsShowOutOfStockDisable.path}} {{CatalogInventoryOptionsShowOutOfStockDisable.value}}" stepKey="setConfigShowOutOfStockFalse"/> + <magentoCLI command="config:set {{CatalogInventoryItemOptionsBackordersDisable.path}} {{CatalogInventoryItemOptionsBackordersDisable.value}}" stepKey="setConfigAllowBackordersFalse"/> + <deleteData createDataKey="createProduct" stepKey="deleteProduct"/> + </after> + + <!-- Go to the storefront and add the product to the cart --> + <actionGroup ref="AddSimpleProductToCart" stepKey="gotoAndAddProductToCart"> + <argument name="product" value="$$createProduct$$"/> + </actionGroup> + + <!-- Go to the cart page and verify we see the product --> + <amOnPage url="{{CheckoutCartPage.url}}" stepKey="gotoCart"/> + <waitForPageLoad stepKey="waitForCartLoad"/> + <actionGroup ref="AssertStorefrontCheckoutCartItemsActionGroup" stepKey="assertProductItemInCheckOutCart"> + <argument name="productName" value="$$createProduct.name$$"/> + <argument name="productSku" value="$$createProduct.sku$$"/> + <argument name="productPrice" value="$$createProduct.price$$"/> + <argument name="subtotal" value="$$createProduct.price$$" /> + <argument name="qty" value="1"/> + </actionGroup> + </test> +</tests>