Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,9 @@
<actionGroup ref="ClickPlaceOrderActionGroup" stepKey="placeOrder"/>
<grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber22}}" stepKey="grabOrderNumber"/>
<!--Navigate to order details page in custom account-->
<amOnPage url="{{StorefrontCustomerOrderViewPage.url({$grabOrderNumber})}}" stepKey="amOnOrderPage"/>
<actionGroup ref="StorefrontGoToOrderViewPageActionGroup" stepKey="goToOrderViewPage">
<argument name="orderIncrementId" value="$grabOrderNumber" />
</actionGroup>
<!--Verify bundle order items details-->
<see selector="{{StorefrontCustomerOrderSection.orderItemOptionLabel('2')}}" userInput="$$createFirstBundleOption.title$$" stepKey="seeOptionLabelInCustomerOrderItems"/>
<see selector="{{StorefrontCustomerOrderSection.orderItemOptionValue('3')}}" userInput="1 x $$createFirstProduct.name$$ $9.00" stepKey="seeOptionValueInCustomerOrderItems"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,9 @@
<see selector="{{AdminOrderTotalSection.subTotal}}" userInput="{$finalProductPrice}" stepKey="seeOrderSubTotal"/>

<!-- Go to Customer Order Page and Checking the correctness of displayed custom options for user parameters on Order -->

<amOnPage url="{{StorefrontCustomerOrderViewPage.url({$grabOrderNumber})}}" stepKey="amOnOrderPage"/>
<actionGroup ref="StorefrontGoToOrderViewPageActionGroup" stepKey="goToOrderViewPage">
<argument name="orderIncrementId" value="$grabOrderNumber" />
</actionGroup>

<see selector="{{StorefrontCustomerOrderSection.productCustomOptions($$createProduct.name$$, ProductOptionField.title, ProductOptionField.title)}}" userInput="{{ProductOptionField.title}}" stepKey="seeStorefontOrderProductOptionField1" />
<see selector="{{StorefrontCustomerOrderSection.productCustomOptions($$createProduct.name$$, ProductOptionArea.title, ProductOptionArea.title)}}" userInput="{{ProductOptionArea.title}}" stepKey="seeStorefontOrderProductOptionArea1"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,9 @@
<see userInput="{{UK_Not_Default_Address.postcode}}"
selector="{{StorefrontCustomerAddressesSection.addressesList}}" stepKey="checkNewAddressesPostcode"/>
<!--Order review page has address that was created during checkout-->
<amOnPage url="{{StorefrontCustomerOrderViewPage.url({$grabOrderNumber})}}" stepKey="goToOrderReviewPage"/>
<actionGroup ref="StorefrontGoToOrderViewPageActionGroup" stepKey="goToOrderViewPage">
<argument name="orderIncrementId" value="$grabOrderNumber" />
</actionGroup>
<see userInput="{{UK_Not_Default_Address.street[0]}} {{UK_Not_Default_Address.city}}, {{UK_Not_Default_Address.postcode}}"
selector="{{StorefrontCustomerOrderViewSection.shippingAddress}}" stepKey="checkShippingAddress"/>
<see userInput="{{US_Address_TX_Default_Billing.street[0]}}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,9 @@
<grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber}}" stepKey="grabOrderNumber"/>

<!-- Order review page has address that was created during checkout -->
<amOnPage url="{{AdminOrderPage.url({$grabOrderNumber})}}" stepKey="navigateToOrderPage"/>
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="filterOrderGridById">
<argument name="orderId" value="$grabOrderNumber"/>
</actionGroup>
<waitForPageLoad stepKey="waitForCreatedOrderPage"/>
<see selector="{{AdminShipmentAddressInformationSection.shippingAddress}}" userInput="{{CustomerAddressSimple.street[0]}} {{CustomerAddressSimple.city}}, {{CustomerAddressSimple.state}}, {{CustomerAddressSimple.postcode}}" stepKey="checkShippingAddress"/>
</test>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->

<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
<actionGroup name="StorefrontGoToOrderViewPageActionGroup">
<annotations>
<description>Navigate to storefront order view page</description>
</annotations>
<arguments>
<argument name="orderIncrementId" type="string"/>
</arguments>
<amOnPage url="{{StorefrontCustomerOrdersHistoryPage.url}}" stepKey="goToCustomerOrderHistoryPage" />
<waitForPageLoad stepKey="waitForPageLoad" />
<click selector="{{StorefrontCustomerOrderSection.viewOrderByOrderNumber(orderIncrementId)}}" stepKey="clickOrderView" />
</actionGroup>
</actionGroups>
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
*/
-->

<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
<test name="AdminPanelIsFrozenIfStorefrontIsOpenedViaCustomerViewTest">
<annotations>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
<actionGroup name="AdminAssertContainsMessageOrderCreatedByAdminActionGroup">
<actionGroup name="AdminAssertContainsMessageOrderCreatedByAdminActionGroup" extends="FilterOrderGridByIdActionGroup">
<annotations>
<description>Assert Admin Order page contains message about Order created by a Store Administrator.
</description>
Expand All @@ -18,7 +18,8 @@
<argument name="adminUserFullName" type="string"/>
</arguments>

<amOnPage url="{{AdminOrderPage.url(orderId)}}" stepKey="gotoOrderPage"/>
<click selector="{{AdminDataGridTableSection.firstRow}}" after="clickOrderApplyFilters" stepKey="openOrderViewPage"/>
<waitForPageLoad after="openOrderViewPage" stepKey="waitForOrderViewPageOpened"/>
<waitForPageLoad stepKey="waitForPageLoad"/>
<see userInput="Order Placed by {{adminUserFullName}} using Login as Customer"
stepKey="seeMessageOrderCreatedByAdmin"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
<argument name="orderId" type="string"/>
</arguments>

<amOnPage url="{{StorefrontCustomerOrderViewPage.url(orderId)}}" stepKey="gotoOrderPage"/>
<amOnPage url="{{StorefrontCustomerOrdersHistoryPage.url}}" stepKey="amOnTheCustomerOrderHistoryPage"/>
<click selector="{{StorefrontCustomerOrderSection.viewOrderByOrderNumber(orderId)}}" stepKey="goToOrderReviewPage" />
<waitForPageLoad stepKey="waitForPageLoad"/>
<see userInput="Order Placed by Store Administrator" stepKey="seeMessageOrderCreatedByAdmin"/>
</actionGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,16 @@
<createData entity="CustomerCart" stepKey="createCustomerCart">
<requiredEntity createDataKey="createCustomer"/>
</createData>

<createData entity="CustomerCartItem" stepKey="addCartItem">
<requiredEntity createDataKey="createCustomerCart"/>
<requiredEntity createDataKey="createSimpleProduct"/>
</createData>

<createData entity="CustomerAddressInformation" stepKey="addCustomerOrderAddress">
<requiredEntity createDataKey="createCustomerCart"/>
</createData>

<updateData createDataKey="createCustomerCart" entity="CustomerOrderPaymentMethod" stepKey="sendCustomerPaymentInformation">
<requiredEntity createDataKey="createCustomerCart"/>
</updateData>
Expand Down Expand Up @@ -64,9 +64,9 @@
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="filterOrdersGridById">
<argument name="orderId" value="{$getOrderId}"/>
</actionGroup>

<grabFromCurrentUrl regex="~/order_id/(\d+)/~" stepKey="getOrderIdFromUrl"/>
<actionGroup ref="StartToCreateCreditMemoActionGroup" stepKey="startToCreateCreditMemo">
<argument name="orderId" value="{$getOrderId}"/>
<argument name="orderId" value="{$getOrderIdFromUrl}"/>
</actionGroup>
<fillField selector="{{AdminCreditMemoTotalSection.refundShipping}}" userInput="0" stepKey="setRefundShipping"/>
<actionGroup ref="UpdateCreditMemoTotalsActionGroup" stepKey="updateCreditMemoTotals"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,13 +89,13 @@
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="filterOrdersGridById">
<argument name="orderId" value="{$grabOrderNumber}"/>
</actionGroup>

<grabFromCurrentUrl regex="~/order_id/(\d+)/~" stepKey="getOrderId"/>
<click selector="{{AdminOrderDetailsMainActionsSection.ship}}" stepKey="clickShipAction"/>
<click selector="{{AdminShipmentMainActionsSection.submitShipment}}" stepKey="clickSubmitShipment"/>

<actionGroup ref="StorefrontNavigateToCustomerOrdersHistoryPageActionGroup" stepKey="goToOrderHistoryPage"/>
<!--Step12. Go to Customer Order Shipment Page and Checking the correctness of displayed Qty Shipped -->
<amOnPage url="{{StorefrontCustomerOrderShipmentPage.url({$grabOrderNumber})}}" stepKey="amOnOrderShipmentPage"/>
<amOnPage url="{{StorefrontCustomerOrderShipmentPage.url({$getOrderId})}}" stepKey="amOnOrderShipmentPage"/>
<waitForPageLoad time="30" stepKey="waitForOrderShipmentsPageLoad"/>
<actionGroup ref="AssertStorefrontOrderShipmentsQtyShippedActionGroup" stepKey="verifyAssertOrderShipments">
<argument name="expectedQtyShipped" value="2.14"/>
Expand Down
3 changes: 2 additions & 1 deletion app/code/Magento/SalesSequence/Setup/SequenceCreator.php
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,9 @@ public function create()
{
$defaultStoreIds = [0, 1];
foreach ($defaultStoreIds as $storeId) {
$prefix = $storeId === 1 ? $storeId : $this->sequenceConfig->get('prefix');
foreach ($this->entityPool->getEntities() as $entityType) {
$this->sequenceBuilder->setPrefix($this->sequenceConfig->get('prefix'))
$this->sequenceBuilder->setPrefix($prefix)
->setSuffix($this->sequenceConfig->get('suffix'))
->setStartValue($this->sequenceConfig->get('startValue'))
->setStoreId($storeId)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/

declare(strict_types=1);

namespace Magento\SalesSequence\Test\Integration\Setup;

use Magento\Framework\App\ResourceConnection as AppResource;
use Magento\Framework\ObjectManagerInterface;
use Magento\SalesSequence\Model\Config as SequenceConfig;
use Magento\TestFramework\Helper\Bootstrap;
use Magento\SalesSequence\Setup\SequenceCreator;
use Magento\SalesSequence\Model\ResourceModel\Meta as MetaResource;
use Magento\SalesSequence\Model\ResourceModel\Profile as ProfileResource;
use Magento\SalesSequence\Model\EntityPool;
use PHPUnit\Framework\TestCase;

/**
* Test default created store views sales sequences prefix.
*/
class SequenceCreatorTest extends TestCase
{
/**
* @var ObjectManagerInterface
*/
private $objectManger;

/**
* @var SequenceCreator
*/
private $sequenceCreator;

/**
* @var EntityPool
*/
private $entityPool;

/**
* @var MetaResource
*/
private $sequenceMetaResource;

/**
* @var ProfileResource
*/
private $sequenceProfileResource;

/**
* @var SequenceConfig
*/
private $sequenceConfig;

/**
* @var AppResource
*/
private $appResource;

/**
* @inheritdoc
*/
protected function setUp(): void
{
$this->objectManger = Bootstrap::getObjectManager();
$this->sequenceCreator = $this->objectManger->create(SequenceCreator::class);
$this->sequenceMetaResource = $this->objectManger->create(MetaResource::class);
$this->sequenceProfileResource = $this->objectManger->create(ProfileResource::class);
$this->entityPool = $this->objectManger->create(EntityPool::class);
$this->sequenceConfig = $this->objectManger->create(SequenceConfig::class);
$this->appResource = $this->objectManger->create(AppResource::class);
}

/**
* Test prefix for default created store views.
*
* @param array $defaultStores
* @dataProvider defaultStoresDataProvider
*/
public function testSalesSequenceProfileTableForDefaultStores(array $defaultStores): void
{
foreach ($defaultStores as $storeId) {
foreach ($this->entityPool->getEntities() as $entityType) {
$meta = $this->sequenceMetaResource->loadByEntityTypeAndStore($entityType, $storeId);
$profile = $this->sequenceProfileResource->loadActiveProfile($meta->getId());
$this->assertEquals($this->getSequenceTableName($entityType, $storeId), $meta->getSequenceTable());
$this->assertEquals($this->sequenceConfig->get('startValue'), $profile->getStartValue());
$this->assertEquals($this->sequenceConfig->get('suffix'), $profile->getSuffix());
$this->assertEquals($this->sequenceConfig->get('step'), $profile->getStep());
$this->assertEquals($this->sequenceConfig->get('warningValue'), $profile->getWarningValue());
$this->assertEquals($this->sequenceConfig->get('maxValue'), $profile->getMaxValue());

if ($storeId === 0) {
$this->assertEquals(null, $profile->getPrefix());
} else {
$this->assertNotNull($profile->getPrefix());
}
}
}
}

/**
* Default store codes data provider
*
* @return array
*/
public function defaultStoresDataProvider(): array
{
return [
[
'defaultStores' => [
0,
1
]
],
];

}

/**
* Get sequence table name
*
* @param string $entityType
* @param int $storeId
*
* @return string
*/
private function getSequenceTableName(string $entityType, int $storeId): string
{
return $this->appResource->getTableName(
sprintf(
'sequence_%s_%s',
$entityType,
$storeId
)
);
}
}