Merge branch '2.0' into symfony-7

* 2.0: (212 commits)
  Change application's version to v1.13.4-dev
  Generate changelog for v1.13.3
  Change application's version to v1.13.3
  Change application's version to v1.12.19-dev
  Generate changelog for v1.12.18
  Change application's version to v1.12.18
  [CS][DX] Refactor
  Minor fixes after PR review
  Fix products grid for mobile
  [Admin][Taxon][Behat] Separate TreeElement from CreatePage
  [Admin][Taxon] Split tree to more hooks
  Fix phpstan
  [Admin][Taxon] Enable behat tests
  [Admin][Taxon] Remove old script
  [Admin] Taxon index
  Update PR template
  [Documentation] Update Sylius 1.12 version on the release cycle page
  Add upmerge from 2.0 to symfony-7 branch
  Minor changes
  Skip not working api scenarios
  ...
This commit is contained in:
Grzegorz Sadowski 2024-07-02 11:36:25 +02:00
commit 777d6d354c
No known key found for this signature in database
GPG key ID: EF87FF4E6E3BD364
653 changed files with 7597 additions and 4225 deletions

View file

@ -1,6 +1,6 @@
| Q | A
|-----------------|-----
| Branch? | 1.12, 1.13, 1.14 or 2.0 <!-- see the comment below -->
| Branch? | 1.13, 1.14 or 2.0 <!-- see the comment below -->
| Bug fix? | no/yes
| New feature? | no/yes
| BC breaks? | no/yes
@ -9,7 +9,7 @@
| License | MIT
<!--
- Bug fixes must be submitted against the 1.12 or 1.13 branches
- Bug fixes must be submitted against the 1.13 branch
- Features and deprecations must be submitted against the 1.14 branch
- Features, removing deprecations and BC breaks must be submitted against the 2.0 branch
- Make sure that the correct base branch is set

View file

@ -180,7 +180,7 @@ jobs:
run: composer require --no-update --no-scripts --no-interaction "twig/twig:${{ matrix.twig }}"
- name: Build application
uses: SyliusLabs/BuildTestAppAction@v2.2
uses: SyliusLabs/BuildTestAppAction@v2.2.1
with:
build_type: "sylius"
cache_key: "${{ github.run_id }}-${{ runner.os }}-${{ hashFiles('composer.json') }}-symfony-${{ matrix.symfony }}-api-platform-${{ matrix.api-platform }}"
@ -192,6 +192,7 @@ jobs:
php_version: ${{ matrix.php }}
symfony_version: ${{ matrix.symfony }}
node_version: "20.x"
chrome_version: stable
- name: Install Behat driver
run: vendor/bin/bdi detect drivers

View file

@ -31,10 +31,13 @@ jobs:
target_branch: "2.0"
-
base_branch: "2.0"
target_branch: "bootstrap-admin-panel"
target_branch: "api-platform-3"
-
base_branch: "2.0"
target_branch: "api-platform-3"
target_branch: "bootstrap-shop"
-
base_branch: "2.0"
target_branch: "symfony-7"
steps:
-

View file

@ -1,6 +1,6 @@
<h1 align="center">
<a href="https://sylius.com/github-readme/link/" target="_blank">
<img src="https://sylius.com/assets/github-readme.png?course" />
<img src="https://sylius.com/assets/github-readme.png?cloud" />
</a>
</h1>

View file

@ -67,7 +67,9 @@ By default, the database connection is pre-configured to work with a following M
.. note::
You might also use any other RDBMS (like PostgreSQL), but our database migrations support MySQL only.
You might also use any other RDBMS (like PostgreSQL).
The Sylius Database Schema is available `here <https://drawsql.app/templates/sylius>`_.
NPM Package Manager
-------------------

View file

@ -1,384 +1,28 @@
.. rst-class:: plus-doc
Sylius Plus Installation
========================
Sylius Plus is an advanced extension to Sylius applications that adds new features and experience.
As it is a private package it cannot be installed by every Sylius user, but only by those having the license.
Sylius Plus is a licensed, modular set of advanced extensions to Sylius applications that add new features and experience.
As these are private packages they cannot be installed by every Sylius user, but only by those having the license.
Installing Sylius Plus as a plugin to a Sylius application
----------------------------------------------------------
Installing Sylius Plus modules as plugins to a Sylius application
-----------------------------------------------------------------
**Important Requirements**
Sylius Plus consists of modules in a flexible licensing model, where you can choose the features you need. `Read more! <https://sylius.com/plus/?utm_source=docs>`_
+---------------+-----------------------+
| PHP | ^8.0 |
+---------------+-----------------------+
| sylius/sylius | ~1.11.2 || ~1.12.0 |
+---------------+-----------------------+
| Symfony | ^5.4 || ^6.0 |
+---------------+-----------------------+
All the modules can be installed independently, they also work smoothly together in any combination. Due to that each module
has its own installation instruction.
**0.** Prepare project:
1. Purchase a license for the selected Sylius Plus modules.
.. tip::
2. Receive a Private Packagist access token and a personalised space on packagist.com with a list of purchased packages.
If it is a new project you are initiating, then first install Sylius-Standard in **version ^1.11 or ^1.12** according to
:doc:`these instructions </book/installation/installation>`.
3. Access the installation instructions of Plus modules in their READMEs available through Private Packagist.
If you're installing Plus package to an existing project, then make sure you're upgraded to ``sylius/sylius ^1.11`` or ``sylius/sylius ^1.12``.
4. Follow the installation instructions of each module in any order.
**1.** Configure access to the private Packagist package in composer by using the Access Token you have been given with your license.
.. code-block:: bash
composer config --global --auth http-basic.sylius.repo.packagist.com token YOUR_TOKEN
**2.** Configure the repository with Sylius Plus for your organisation, require it and then run ``composer update``:
.. code-block:: bash
composer config repositories.plus composer https://sylius.repo.packagist.com/ShortNameOfYourOrganization/
composer require "sylius/plus:^1.0.0@beta" --no-update
composer update --no-scripts
composer sync-recipes
**3.** Configure Sylius Plus in ``config/bundles.php``:
.. code-block:: php
// config/bundles.php
return [
//...
Sylius\Plus\SyliusPlusPlugin::class => ['all' => true],
];
**4.** Import Sylius Plus configuration files:
.. code-block:: yaml
# config/packages/_sylius.yaml
imports:
# ...
- { resource: "@SyliusPlusPlugin/Resources/config/config.yaml" }
.. warning::
Make sure you are importing Sylius Plus configuration as the last resource. You can encounter problems with customization when it is not the last imported resource. Especially when Invoicing Plugin or Refund Plugin is installed.
**5.** Configure Shop, Admin and Admin API routing:
.. code-block:: yaml
# config/routes/sylius_shop.yaml
# ...
sylius_plus_shop:
resource: "@SyliusPlusPlugin/Resources/config/shop_routing.yaml"
prefix: /{_locale}
requirements:
_locale: ^[a-z]{2}(?:_[A-Z]{2})?$
.. code-block:: yaml
# config/routes/sylius_admin.yaml:
# ...
sylius_plus_admin:
resource: "@SyliusPlusPlugin/Resources/config/admin_routing.yaml"
prefix: /admin
.. warning:: Skip `sylius_plus_shop` if you are not using SyliusShopBundle
and `sylius_plus_admin` if you are not using SyliusAdminBundle.
**6.** Update security providers in ``config/packages/security.yaml``:
.. code-block:: yaml
# config/packages/security.yaml
providers:
# ...
sylius_shop_user_provider:
id: Sylius\Plus\CustomerPools\Infrastructure\Provider\UsernameAndCustomerPoolProvider
sylius_api_shop_user_provider:
id: Sylius\Plus\CustomerPools\Infrastructure\Provider\UsernameAndCustomerPoolProvider
**7.** Add traits that enhance Sylius models:
* AdminUser
* Channel
* Customer
* Order
* ProductVariant
* Shipment
.. code-block:: php
// src/Entity/User/AdminUser.php
<?php
declare(strict_types=1);
namespace App\Entity\User;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Sylius\Component\Core\Model\AdminUser as BaseAdminUser;
use Sylius\Component\Core\Model\AdminUserInterface;
use Sylius\Plus\ChannelAdmin\Domain\Model\AdminChannelAwareTrait;
use Sylius\Plus\Entity\LastLoginIpAwareInterface;
use Sylius\Plus\Entity\LastLoginIpAwareTrait;
use Sylius\Plus\Rbac\Domain\Model\AdminUserInterface as RbacAdminUserInterface;
use Sylius\Plus\Rbac\Domain\Model\RoleableTrait;
use Sylius\Plus\Rbac\Domain\Model\ToggleablePermissionCheckerTrait;
/**
* @ORM\Entity
* @ORM\Table(name="sylius_admin_user")
*/
class AdminUser extends BaseAdminUser implements AdminUserInterface, RbacAdminUserInterface, LastLoginIpAwareInterface
{
use AdminChannelAwareTrait;
use LastLoginIpAwareTrait;
use RoleableTrait;
use ToggleablePermissionCheckerTrait;
public function __construct()
{
parent::__construct();
$this->rolesResources = new ArrayCollection();
}
}
.. code-block:: php
// src/Entity/Channel/Channel.php
<?php
declare(strict_types=1);
namespace App\Entity\Channel;
use Doctrine\ORM\Mapping as ORM;
use Sylius\Component\Core\Model\Channel as BaseChannel;
use Sylius\Component\Core\Model\ChannelInterface;
use Sylius\Plus\BusinessUnits\Domain\Model\BusinessUnitAwareTrait;
use Sylius\Plus\BusinessUnits\Domain\Model\ChannelInterface as BusinessUnitsChannelInterface;
use Sylius\Plus\CustomerPools\Domain\Model\ChannelInterface as CustomerPoolsChannelInterface;
use Sylius\Plus\CustomerPools\Domain\Model\CustomerPoolAwareTrait;
use Sylius\Plus\Returns\Domain\Model\ChannelInterface as ReturnsChannelInterface;
use Sylius\Plus\Returns\Domain\Model\ReturnRequestsAllowedAwareTrait;
/**
* @ORM\Entity
* @ORM\Table(name="sylius_channel")
*/
class Channel extends BaseChannel implements ChannelInterface, ReturnsChannelInterface, BusinessUnitsChannelInterface, CustomerPoolsChannelInterface
{
use BusinessUnitAwareTrait;
use CustomerPoolAwareTrait;
use ReturnRequestsAllowedAwareTrait;
}
.. code-block:: php
// src/Entity/Customer/Customer.php
<?php
declare(strict_types=1);
namespace App\Entity\Customer;
use Doctrine\ORM\Mapping as ORM;
use Sylius\Component\Core\Model\Customer as BaseCustomer;
use Sylius\Component\Core\Model\CustomerInterface;
use Sylius\Plus\CustomerPools\Domain\Model\CustomerInterface as CustomerPoolsCustomerInterface;
use Sylius\Plus\CustomerPools\Domain\Model\CustomerPoolAwareTrait;
use Sylius\Plus\Loyalty\Domain\Model\CustomerInterface as LoyaltyCustomerInterface;
use Sylius\Plus\Loyalty\Domain\Model\LoyaltyAwareTrait;
/**
* @ORM\Entity
* @ORM\Table(name="sylius_customer")
*/
class Customer extends BaseCustomer implements CustomerInterface, CustomerPoolsCustomerInterface, LoyaltyCustomerInterface
{
use CustomerPoolAwareTrait;
use LoyaltyAwareTrait;
}
.. code-block:: php
// src/Entity/Order/Order.php
<?php
declare(strict_types=1);
namespace App\Entity\Order;
use Doctrine\ORM\Mapping as ORM;
use Sylius\Component\Core\Model\Order as BaseOrder;
use Sylius\Component\Core\Model\OrderInterface;
use Sylius\Plus\Returns\Domain\Model\OrderInterface as ReturnsOrderInterface;
use Sylius\Plus\Returns\Domain\Model\ReturnRequestAwareTrait;
/**
* @ORM\Entity
* @ORM\Table(name="sylius_order")
*/
class Order extends BaseOrder implements OrderInterface, ReturnsOrderInterface
{
use ReturnRequestAwareTrait;
}
.. code-block:: php
// src/Entity/Product/ProductVariant.php
<?php
declare(strict_types=1);
namespace App\Entity\Product;
use Doctrine\ORM\Mapping as ORM;
use Sylius\Component\Core\Model\ProductVariant as BaseProductVariant;
use Sylius\Component\Core\Model\ProductVariantInterface;
use Sylius\Component\Product\Model\ProductVariantTranslationInterface;
use Sylius\Plus\Inventory\Domain\Model\InventorySourceStocksAwareTrait;
use Sylius\Plus\Inventory\Domain\Model\ProductVariantInterface as InventoryProductVariantInterface;
/**
* @ORM\Entity()
* @ORM\Table(name="sylius_product_variant")
*/
class ProductVariant extends BaseProductVariant implements ProductVariantInterface, InventoryProductVariantInterface
{
use InventorySourceStocksAwareTrait {
__construct as private initializeProductVariantTrait;
}
public function __construct()
{
parent::__construct();
$this->initializeProductVariantTrait();
}
protected function createTranslation(): ProductVariantTranslationInterface
{
return new ProductVariantTranslation();
}
}
.. code-block:: php
// src/Entity/Shipping/Shipment.php
<?php
declare(strict_types=1);
namespace App\Entity\Shipping;
use Doctrine\ORM\Mapping as ORM;
use Sylius\Component\Core\Model\Shipment as BaseShipment;
use Sylius\Component\Core\Model\ShipmentInterface;
use Sylius\Plus\Inventory\Domain\Model\InventorySourceAwareTrait;
use Sylius\Plus\Inventory\Domain\Model\ShipmentInterface as InventoryShipmentInterface;
/**
* @ORM\Entity()
* @ORM\Table(name="sylius_shipment")
*/
class Shipment extends BaseShipment implements ShipmentInterface, InventoryShipmentInterface
{
use InventorySourceAwareTrait;
}
**8.** Install wkhtmltopdf binary:
Default configuration assumes enabled PDF file generator. If you don't want to use that feature change your app configuration:
.. code-block:: yaml
# config/packages/sylius_plus.yaml
sylius_plus:
pdf_generator:
enabled: false
.. warning::
Sylius Plus uses both the Sylius Invoicing and Sylius Refund plugins which have their own configuration for disabling PDF Generator.
Check if you have wkhtmltopdf binary.
If not, you can download it `here <https://wkhtmltopdf.org/downloads.html>`_.
By default wkhtmltopdf is installed in ``/usr/local/bin/wkhtmltopdf`` directory.
.. tip::
If you not sure if you have already installed wkhtmltopdf and where it is located, write the following command in the terminal:
``which wkhtmltopdf``
In case wkhtmltopdf is not located in ``/usr/local/bin/wkhtmltopdf``, add the following snippet at the end of
your application's ``.env`` file:
.. code-block:: yaml
###> knplabs/knp-snappy-bundle ###
WKHTMLTOPDF_PATH=/your-path
###< knplabs/knp-snappy-bundle ###
**9.** Update the database using migrations:
.. code-block:: bash
bin/console doctrine:migrations:migrate
**10.** Install Sylius with Sylius Plus fixtures:
.. code-block:: bash
bin/console sylius:install -s plus
.. tip::
If you want to completely (re)install the application, you can run this command with the no interaction flag ``-n``.
.. code-block:: bash
bin/console sylius:install -s plus -n
**11.** Install JS libraries using Yarn:
.. code-block:: bash
yarn install
yarn build
bin/console assets:install --ansi
**12.** Rebuild cache for proper display of all translations:
.. code-block:: bash
bin/console cache:clear
bin/console cache:warmup
**13.** For more details check the installation guides for all plugins installed as dependencies with Sylius Plus.
* `Sylius/InvoicingPlugin <https://github.com/Sylius/InvoicingPlugin/blob/master/README.md#installation>`_
* `Sylius/RefundPlugin <https://github.com/Sylius/RefundPlugin/blob/master/README.md#installation>`_
**Phew! That's all, you can now run the application just like you usually do with Sylius (using Symfony Server for example).**
Upgrading Sylius Plus
---------------------
To upgrade Sylius Plus in an existing application, please follow upgrade instructions from
`Sylius/PlusInformationCenter <https://github.com/Sylius/PlusInformationCenter>`_ repository.
5. Having all modules installed your Sylius project is ready and enhanced with tailored Sylius Plus features!
.. image:: ../../_images/sylius_plus/banner.png
:align: center

View file

@ -3,16 +3,16 @@
Upgrading Sylius Plus
=====================
Sylius regularly releases new versions, usually every two weeks.
Sylius regularly releases new versions of Sylius Plus modules.
Each release comes with an ``UPGRADE.md`` file, which is meant to help in the upgrading process.
1. **Update the Sylius Plus version constraint by modifying the ``composer.json`` file:**
1. **Update the version constraint of your Sylius Plus modules by modifying the ``composer.json`` file:**
.. code-block:: yaml
{
"require": {
"sylius/plus": "^1.0.0@beta"
"sylius/plus-marketplace-suite-plugin": "^2.6"
}
}
@ -20,17 +20,17 @@ Each release comes with an ``UPGRADE.md`` file, which is meant to help in the up
.. code-block:: bash
composer update sylius/plus --with-all-dependencies
composer update sylius/plus-marketplace-suite-plugin --with-all-dependencies
If this does not help, it is a matter of debugging the conflicting versions and working out how your ``composer.json``
should look after the upgrade.
You can check what version of Sylius is installed by running ``composer show sylius/plus`` command.
You can check what version is installed by running ``composer show sylius/plus-marketplace-suite-plugin`` command.
3. **Follow the instructions found in the ``UPGRADE.md`` file for a given minor release.**
.. note::
As Sylius Plus is a private repository its README files (and CHANGELOG) have been exposed in a separate public
As Sylius Plus modules are private repositories their UPGRADE files (and CHANGELOGs) have been exposed in a separate public
repository which can be found here: `<https://github.com/Sylius/PlusInformationCenter>`_

View file

@ -67,13 +67,13 @@ Planned releases
Supported versions
------------------
+---------+--------------------+--------------------+--------------------+-----------------------+
| Version | Release date | End of maintenance | End of life | Status |
+=========+====================+====================+====================+=======================+
| 1.13 | Apr 23, 2024 | Oct 23, 2024 | Apr 23, 2025 | Fully supported |
+---------+--------------------+--------------------+--------------------+-----------------------+
| 1.12 | Oct 31, 2022 | Jun 30, 2024 | Dec 31, 2024 | Fully supported |
+---------+--------------------+--------------------+--------------------+-----------------------+
+---------+--------------------+--------------------+--------------------+---------------------+
| Version | Release date | End of maintenance | End of life | Status |
+=========+====================+====================+====================+=====================+
| 1.13 | Apr 23, 2024 | Oct 23, 2024 | Apr 23, 2025 | Fully supported |
+---------+--------------------+--------------------+--------------------+---------------------+
| 1.12 | Oct 31, 2022 | Jun 30, 2024 | Dec 31, 2024 | Security fixes only |
+---------+--------------------+--------------------+--------------------+---------------------+
Unsupported versions
--------------------

View file

@ -25,6 +25,7 @@ Sylius can create or even reset the database/schema for you, simply call:
The command will check if your database schema exists. If yes, you may decide to recreate it from scratch, otherwise Sylius will take care of this automatically.
It also allows you to load sample data.
You can review the Sylius Database Schema `here <https://drawsql.app/templates/sylius>`_.
Loading sample data
-------------------

View file

@ -123,7 +123,7 @@ So the crons section may look like below:
cmd: "php bin/console sylius:promotion:generate-coupons"
remove-expired-carts:
spec: "0 2 * * *"
cmd: "php bin/console sylius:cancel-unpaid-orders"
cmd: "php bin/console sylius:remove-expired-carts"
The frequency of running these commands depends on your business requirements.

View file

@ -119,7 +119,7 @@ If all is well the output should look like:
.. tip::
In some cases you will see an error stating that the there is something wrong with the resource configuration:
In some cases you will see an error stating that there is something wrong with the resource configuration:
``Unrecognized option "classes" under...``
When this happens, please refer to :ref:`resource-configuration`.
@ -406,3 +406,8 @@ Which we strongly recommend over updating the schema.
you'll need to update its form type. Check how to do it :doc:`here </customization/form>`.
.. include:: /customization/plugins.rst
Learn more
----------
* `Sylius Database Schema <https://drawsql.app/templates/sylius>`_

View file

@ -3,7 +3,7 @@ Customizing Repositories
.. warning::
In **Sylius** we are using both default Doctrine repositories and the custom ones.
Often you will be needing to add your very own methods to them. You need to check before which repository is your resource using.
Often you will need to add your very own methods to them. You need to check before which repository is your resource using.
Why would you customize a Repository?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View file

@ -11,7 +11,7 @@ Feature: Adding a new channel with menu taxon
And the store classifies its products as "Clothes" and "Guns"
And I am logged in as an administrator
@todo @ui @javascript @api
@ui @mink:chromedriver @api
Scenario: Adding a new channel with menu taxon
When I want to create a new channel
And I specify its code as "MOBILE"

View file

@ -9,7 +9,7 @@ Feature: Browsing channels
And the store operates on another channel named "Mobile Channel"
And I am logged in as an administrator
@api @todo @ui
@api @ui
Scenario: Browsing defined channels
When I want to browse channels
Then I should see 2 channels in the list

View file

@ -9,7 +9,7 @@ Feature: Deleting a channel
And the store operates on another channel named "Mobile Store"
And I am logged in as an administrator
@api @todo @ui
@api @@ui
Scenario: Deleted channel should disappear from the registry
When I delete channel "Web Store"
Then I should be notified that it has been successfully deleted

View file

@ -10,7 +10,7 @@ Feature: Deleting multiple channels
And the store operates on another channel named "DE Store"
And I am logged in as an administrator
@todo @ui @mink:chromedriver @no-api
@@ui @mink:chromedriver @no-api
Scenario: Deleting multiple channels at once
When I browse channels
And I check the "PL Store" channel

View file

@ -8,7 +8,7 @@ Feature: Not being able to delete a last available channel
Given the store operates on a channel named "Web Store"
And I am logged in as an administrator
@api @todo @ui
@api @@ui
Scenario: Preventing from deleting only channel
When I delete channel "Web Store"
Then I should be notified that it cannot be deleted

View file

@ -9,7 +9,7 @@ Feature: Managing themes per channel
And the store has "maverick/meerkat" theme
And I am logged in as an administrator
@todo @ui @no-api
@ui @no-api
Scenario: None of the themes are used by default
When I create a new channel "Poland"
Then that channel should not use any theme

View file

@ -14,7 +14,7 @@ Feature: Browsing orders
And the customer chose "Free" shipping method to "United States" with "Cash on Delivery" payment
And I am logged in as an administrator
@todo @ui @api
@api @ui
Scenario: Seeing a new order in the list
When I browse orders
Then I should see a single order from customer "john.doe@gmail.com"

View file

@ -17,7 +17,7 @@ Feature: Seeing the currency in which all orders have been placed
And there is a customer "Satin" identified by an email "satin@teamlucifer.com" and a password "pswd"
And I am logged in as an administrator
@todo @ui @api
@api @ui
Scenario: Seeing an order placed in the base currency
Given there is a customer "lucy@teamlucifer.com" that placed an order "#00000666"
And the customer bought a single "Angel T-Shirt"

View file

@ -17,7 +17,7 @@ Feature: Seeing order's payment amount including all fees
And the customer chose "DHL" shipping method to "United States" with "Cash on Delivery" payment
And I am logged in as an administrator
@todo @ui @api
@api @ui
Scenario: Seeing total payment
When I view the summary of the order "#00000666"
Then it should have 2 items

View file

@ -17,7 +17,7 @@ Feature: Seeing orders' total in their currency
And there is a customer account "customer@example.com" identified by "sylius"
And I am logged in as "customer@example.com"
@todo @ui @api
@api @ui
Scenario: List of orders from only one channel
Given I changed my current channel to "United States"
And I have product "Angel T-Shirt" in the cart
@ -26,7 +26,7 @@ Feature: Seeing orders' total in their currency
And I confirm my order
Then the administrator should see the order with total "$20.00" in order list
@todo @ui @api
@api @ui
Scenario: List of orders from different channels
Given I changed my current channel to "United States"
And I have product "Angel T-Shirt" in the cart

View file

@ -17,7 +17,7 @@ Feature: Sequential order number generation
And the customer chose "Free" shipping method to "United States" with "Offline" payment
And I am logged in as an administrator
@todo @ui @api
@api @ui
Scenario: Verifying that orders has correct numbers
When I browse orders
Then I should see an order with "#000000001" number

View file

@ -20,13 +20,13 @@ Feature: Sorting orders by their number
And the customer chose "Free" shipping method to "United States" with "Offline" payment
And I am logged in as an administrator
@todo @ui @api
@api @ui
Scenario: Orders are sorted by descending numbers by default
When I browse orders
Then I should see an order with "#000000001" number
But the first order should have number "#000000003"
@todo @ui @api
@api @ui
Scenario: Changing the number sorting order
Given I am browsing orders
When I switch the way orders are sorted by number

View file

@ -13,7 +13,7 @@ Feature: Filtering orders by a channel
And this customer has also placed an order "#00000003" on a channel "Web-US"
And I am logged in as an administrator
@todo @ui @api
@api @ui @mink:chromedriver
Scenario: Filtering orders by a chosen channel
When I browse orders
And I choose "Web-EU" as a channel filter
@ -23,7 +23,7 @@ Feature: Filtering orders by a channel
And I should see an order with "#00000002" number
But I should not see an order with "#00000003" number
@todo @ui @api
@api @ui @mink:chromedriver
Scenario: Filtering orders by an another channel
When I browse orders
And I choose "Web-US" as a channel filter

View file

@ -0,0 +1,29 @@
@managing_orders
Feature: Filtering orders by a customer
In order to quickly find orders placed by a specific customer
As an Administrator
I want to be able to filter orders on the list
Background:
Given the store operates on a single channel in "United States"
And the store has customer "Bob Ross" with email "ross@bob.com"
And this customer has placed an order "#00000001" at "2016-12-04 08:00"
And the store has customer "Lirael Abhorsen" with email "lirael@abhorsen.com"
And this customer has also placed an order "#00000002" at "2016-12-05 09:00"
And the store has customer "Ghastly Bespoke" with email "ghastly@suits.com"
And this customer has also placed an order "#00000003" at "2016-12-06 10:00"
And I am logged in as an administrator
@api-todo @ui @mink:chromedriver
Scenario: Filtering orders by a customer
When I browse orders
And I filter by customer "Lirael Abhorsen"
Then I should see a single order in the list
And I should see an order with "#00000002" number
@api-todo @ui @mink:chromedriver
Scenario: Filtering orders by another customer
When I browse orders
And I filter by customer "Ghastly"
Then I should see a single order in the list
And I should see an order with "#00000003" number

View file

@ -12,7 +12,7 @@ Feature: Filtering orders
And this customer has also placed an order "#00000003" at "2016-12-06 10:00"
And I am logged in as an administrator
@todo @ui @api
@api @ui
Scenario: Filtering orders by date from
When I browse orders
And I specify filter date from as "2016-12-05 08:30"
@ -22,7 +22,7 @@ Feature: Filtering orders
And I should see an order with "#00000003" number
But I should not see an order with "#00000001" number
@todo @ui @api
@api @ui
Scenario: Filtering orders by date to
When I browse orders
And I specify filter date to as "2016-12-05 09:30"
@ -32,7 +32,7 @@ Feature: Filtering orders
And I should see an order with "#00000002" number
But I should not see an order with "#00000003" number
@todo @ui @api
@api @ui
Scenario: Filtering orders by date from to
When I browse orders
And I specify filter date from as "2016-12-05 08:30"
@ -43,7 +43,7 @@ Feature: Filtering orders
But I should not see an order with "#00000001" number
And I should not see an order with "#00000003" number
@todo @ui @api
@api @ui
Scenario: Filtering orders by date from without time
When I browse orders
And I specify filter date from as "2016-12-05"
@ -54,7 +54,7 @@ Feature: Filtering orders
And I should see an order with "#00000003" number
But I should not see an order with "#00000001" number
@todo @ui @api
@api @ui
Scenario: Filtering orders placed at midnight or just before midnight
Given this customer has placed an order "#00000004" at "2016-12-10 00:00"
And this customer has also placed an order "#00000005" at "2016-12-11 23:59"

View file

@ -17,7 +17,7 @@ Feature: Filtering orders by products
And the customer chose "Free" shipping method to "United States" with "Offline" payment
And I am logged in as an administrator
@todo @ui @api @javascript
@api @ui @mink:chromedriver
Scenario: Filtering orders by product
When I browse orders
And I filter by product "Galaxy T-Shirt"
@ -25,7 +25,7 @@ Feature: Filtering orders by products
And I should see an order with "#0000001" number
And I should see an order with "#0000003" number
@todo @ui @api @mink:chromedriver
@api @ui @mink:chromedriver
Scenario: Filtering orders by multiple products
When I browse orders
And I filter by products "Galaxy T-Shirt" and "Space Dress"

View file

@ -23,7 +23,7 @@ Feature: Filtering orders by a shipping method
And the customer chose "DHL" shipping method to "United States" with "Offline" payment
And I am logged in as an administrator
@todo @ui @api
@api @ui @mink:chromedriver
Scenario: Filtering orders by DHL shipping method
When I browse orders
And I choose "DHL" as a shipping method filter
@ -32,7 +32,7 @@ Feature: Filtering orders by a shipping method
And I should see an order with "#000001338" number
And I should not see an order with "#000001337" number
@todo @ui @api
@api @ui @mink:chromedriver
Scenario: Filtering orders by an another shipping method
When I browse orders
And I choose "Free" as a shipping method filter

View file

@ -18,14 +18,14 @@ Feature: Filtering orders by total in different currencies
And I am logged in as an administrator
And I am browsing orders
@todo @ui @api
@api @ui
Scenario: Filtering orders by currency alone
When I choose "British Pound" as the filter currency
And I filter
Then I should see 3 orders in the list
But I should not see any orders with currency "USD"
@todo @ui @api
@api @ui
Scenario: Filtering orders with total greater than specified amount
When I choose "US Dollar" as the filter currency
And I specify filter total being greater than 100
@ -36,7 +36,7 @@ Feature: Filtering orders by total in different currencies
But I should not see an order with "#00000001" number
And I should not see any orders with currency "GBP"
@todo @ui @api
@api @ui
Scenario: Filtering orders with total less than specified amount
When I choose "US Dollar" as the filter currency
And I specify filter total being less than 200
@ -47,7 +47,7 @@ Feature: Filtering orders by total in different currencies
But I should not see an order with "#00000002" number
And I should not see any orders with currency "GBP"
@todo @ui @api
@api @ui
Scenario: Filtering order with total from a specified range
When I choose "British Pound" as the filter currency
And I specify filter total being greater than 150.50
@ -59,7 +59,7 @@ Feature: Filtering orders by total in different currencies
And I should not see an order with "#00000006" number
And I should not see any orders with currency "USD"
@todo @ui @api
@api @ui
Scenario: Filtering orders by total in given range but with no currency provided
When I specify filter total being greater than 150
And I specify filter total being less than 200

View file

@ -26,7 +26,7 @@ Feature: Filtering orders by variants
And the customer chose "Free" shipping method to "United States" with "Offline" payment
And I am logged in as an administrator
@todo @ui @api @javascript
@api @ui @mink:chromedriver
Scenario: Filtering orders by variant
When I browse orders
And I filter by variant "Sundress"
@ -34,7 +34,7 @@ Feature: Filtering orders by variants
And I should see an order with "#0000002" number
And I should see an order with "#0000003" number
@todo @ui @api @mink:chromedriver
@api @ui @mink:chromedriver
Scenario: Filtering orders by multiple variants of the same product
When I browse orders
And I filter by variants "Nebula Top" and "Neutron Sleeveless"
@ -42,7 +42,7 @@ Feature: Filtering orders by variants
And I should see an order with "#0000001" number
And I should see an order with "#0000002" number
@todo @ui @api @javascript
@api @ui @mink:chromedriver
Scenario: Filtering orders by multiple variants of different products
When I browse orders
And I filter by variants "Neutron Sleeveless" and "Sundress"

View file

@ -17,7 +17,7 @@ Feature: Limiting the number of orders
And the customer chose "Free" shipping method to "United States" with "Offline" payment
And I am logged in as an administrator
@api
@api @no-ui
Scenario: Limiting the number of orders
When I browse orders
And I limit number of items to 1

View file

@ -8,7 +8,7 @@ Feature: Deleting payment methods
Given the store has a payment method "Offline" with a code "Offline"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Deleted payment method should disappear from the registry
When I delete the "Offline" payment method
Then I should be notified that it has been successfully deleted

View file

@ -14,7 +14,7 @@ Feature: Prevent deletion of used payment method
And the customer chose "DHL Express" shipping method to "United States" with "Cash on Delivery" payment
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Being unable to delete a payment method which is in use
When I try to delete the "Cash on Delivery" payment method
Then I should be notified that it is in use

View file

@ -13,7 +13,7 @@ Feature: Placing an order as impersonated shop users
And there is a customer "Tanith Low" identified by an email "tanith.low@london.uk" and a password "tanithlow"
And I am logged in as an administrator
@todo @ui
@ui
Scenario: Placing an order as an impersonated shop user
When I view details of the customer "tanith.low@london.uk"
And I impersonate them
@ -24,7 +24,7 @@ Feature: Placing an order as impersonated shop users
And I browse orders of a customer "tanith.low@london.uk"
Then I should see a single order in the list
@todo @ui
@ui
Scenario: Placing an order as an impersonated shop user when the shop user was already logged
When I sign in with email "john.doe@london.uk" and password "johndoe"
And I view details of the customer "tanith.low@london.uk"

View file

@ -8,7 +8,7 @@ Feature: Adding a new product association type
Given the store is available in "English (United States)"
And I am logged in as an administrator
@ui @api
@api @ui
Scenario: Adding a new product association type
When I want to create a new product association type
And I specify its code as "cross_sell"

View file

@ -9,7 +9,7 @@ Feature: Browsing product association types
And the store has also a product association type "Up sell"
And I am logged in as an administrator
@todo @ui @api
@api @ui
Scenario: Browsing product association types in the store
When I want to browse product association types
Then I should see 2 product association types in the list

View file

@ -10,7 +10,7 @@ Feature: Deleting multiple product association types
And the store has also a product association type "Accessories"
And I am logged in as an administrator
@todo @ui @mink:chromedriver @no-api
@no-api @ui @mink:chromedriver
Scenario: Deleting multiple product association types at once
When I browse product association types
And I check the "Cross sell" product association type

View file

@ -8,7 +8,7 @@ Feature: Deleting product association types
Given the store has a product association type "Cross sell"
And I am logged in as an administrator
@ui @api
@api @ui
Scenario: Deleting a product association type
When I delete the "Cross sell" product association type
Then I should be notified that it has been successfully deleted

View file

@ -9,7 +9,7 @@ Feature: Editing a product association type
And the store has a product association type "Cross sell"
And I am logged in as an administrator
@ui @api
@api @ui
Scenario: Changing a name of an existing product association type
When I want to modify the "Cross sell" product association type
And I rename it to "Up sell" in "English (United States)"
@ -17,7 +17,7 @@ Feature: Editing a product association type
Then I should be notified that it has been successfully edited
And this product association type name should be "Up sell"
@ui @api
@api @ui
Scenario: Seeing a disabled code field while editing a product association type
When I want to modify the "Cross sell" product association type
Then I should not be able to edit its code

View file

@ -9,14 +9,14 @@ Feature: Filtering product association types
And the store has also a product association type "Up sell" with a code "up_sell"
And I am logged in as an administrator
@todo @ui @api
@api @ui
Scenario: Filtering product association types by name
When I want to browse product association types
And I filter product association types with name containing "Up"
Then I should see only one product association type in the list
And I should see the product association type "Up sell" in the list
@todo @ui @api
@api @ui
Scenario: Filtering product association types by code
When I want to browse product association types
And I filter product association types with code containing "cross"

View file

@ -9,7 +9,7 @@ Feature: Product association type unique code validation
And the store has a product association type "Cross sell" with a code "cross_sell"
And I am logged in as an administrator
@ui @api
@api @ui
Scenario: Trying to add a new product association type with a taken code
When I want to create a new product association type
And I specify its code as "cross_sell"

View file

@ -9,7 +9,7 @@ Feature: Product association type validation
And the store has a product association type "Cross sell"
And I am logged in as an administrator
@ui @api
@api @ui
Scenario: Trying to add a new product association type without specifying its code
When I want to create a new product association type
And I name it "Up sell" in "English (United States)"
@ -18,7 +18,7 @@ Feature: Product association type validation
Then I should be notified that code is required
And the product association type with name "Up sell" should not be added
@ui @api
@api @ui
Scenario: Trying to add a new product association type without specifying its name
When I want to create a new product association type
And I specify its code as "up_sell"
@ -27,7 +27,7 @@ Feature: Product association type validation
Then I should be notified that name is required
And the product association type with code "up_sell" should not be added
@ui @api
@api @ui
Scenario: Trying to remove name from an existing product association type
When I want to modify the "Cross sell" product association type
And I remove its name from "English (United States)" translation
@ -35,7 +35,7 @@ Feature: Product association type validation
Then I should be notified that name is required
And this product association type should still be named "Cross sell"
@no-ui @api
@api @no-ui
Scenario: Trying to add product association type translation in unexisting locale
When I want to modify the "Cross sell" product association type
And I name it "Vente croisée" in "French (France)"

View file

@ -0,0 +1,26 @@
@managing_product_association_types
Feature: Sorting product association types
In order to change the order of product association types
As an Administrator
I want to be able to sort product association types on the list
Background:
Given the store has a product association type "Cross sell" with a code "cross_sell"
And the store has also a product association type "Up sell" with a code "up_sell"
And I am logged in as an administrator
@todo-api @ui
Scenario: Product associations can be sorted by code in ascending order
Given I am browsing product association types
When I sort the product associations ascending by code
Then I should see 2 product association types in the list
And the first product association on the list should have code "cross_sell"
And the last product association on the list should have code "up_sell"
@todo-api @ui
Scenario: Product associations can be sorted by code in descending order
Given I am browsing product association types
When I sort the product associations descending by code
Then I should see 2 product association types in the list
And the first product association on the list should have code "up_sell"
And the last product association on the list should have code "cross_sell"

View file

@ -8,7 +8,7 @@ Feature: Adding a new checkbox product attribute
Given the store is available in "English (United States)"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Adding a new checkbox product attribute
When I want to create a new checkbox product attribute
And I specify its code as "t_shirt_with_cotton"
@ -17,7 +17,7 @@ Feature: Adding a new checkbox product attribute
Then I should be notified that it has been successfully created
And the checkbox attribute "T-Shirt with cotton" should appear in the store
@todo @ui @no-api
@ui @no-api
Scenario: Seeing disabled type field while adding a checkbox product attribute
When I want to create a new checkbox product attribute
Then the type field should be disabled

View file

@ -8,7 +8,7 @@ Feature: Adding a new float product attribute
Given the store is available in "English (United States)"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Adding a new float product attribute
When I want to create a new float product attribute
And I specify its code as "display_size"
@ -17,7 +17,7 @@ Feature: Adding a new float product attribute
Then I should be notified that it has been successfully created
And the float attribute "Display Size" should appear in the store
@todo @ui @no-api
@ui @no-api
Scenario: Seeing disabled type field while adding a float product attribute
When I want to create a new float product attribute
Then the type field should be disabled

View file

@ -8,7 +8,7 @@ Feature: Adding a new integer product attribute
Given the store is available in "English (United States)"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Adding a new integer product attribute
When I want to create a new integer product attribute
And I specify its code as "book_pages"
@ -17,7 +17,7 @@ Feature: Adding a new integer product attribute
Then I should be notified that it has been successfully created
And the integer attribute "Book pages" should appear in the store
@todo @ui @no-api
@ui @no-api
Scenario: Seeing disabled type field while adding a integer product attribute
When I want to create a new integer product attribute
Then the type field should be disabled

View file

@ -8,7 +8,7 @@ Feature: Adding a new non-translatable product attribute
Given the store is available in "English (United States)"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Adding a new non-translatable product attribute
When I want to create a new integer product attribute
And I specify its code as "damage"

View file

@ -8,7 +8,7 @@ Feature: Adding a new percent product attribute
Given the store is available in "English (United States)"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Adding a new percent product attribute
When I want to create a new percent product attribute
And I specify its code as "t_shirt_cotton_content"
@ -17,7 +17,7 @@ Feature: Adding a new percent product attribute
Then I should be notified that it has been successfully created
And the percent attribute "T-Shirt cotton content" should appear in the store
@todo @ui @no-api
@ui @no-api
Scenario: Seeing disabled type field while adding a percent product attribute
When I want to create a new percent product attribute
Then the type field should be disabled

View file

@ -8,7 +8,7 @@ Feature: Adding a new select product attribute
Given the store is available in "English (United States)"
And I am logged in as an administrator
@todo @ui @javascript @api
@ui @mink:chromedriver @api
Scenario: Adding a new select product attribute
When I want to create a new select product attribute
And I specify its code as "mug_material"
@ -18,7 +18,7 @@ Feature: Adding a new select product attribute
Then I should be notified that it has been successfully created
And the select attribute "Mug material" should appear in the store
@todo @ui @javascript @api
@ui @mink:chromedriver @api
Scenario: Adding multiple select product attribute
When I want to create a new select product attribute
And I specify its code as "mug_material"
@ -30,7 +30,7 @@ Feature: Adding a new select product attribute
Then I should be notified that it has been successfully created
And the select attribute "Mug material" should appear in the store
@todo @ui @no-api
@ui @no-api
Scenario: Seeing disabled type field while adding a select product attribute
When I want to create a new select product attribute
Then the type field should be disabled

View file

@ -8,7 +8,7 @@ Feature: Adding a new text product attribute
Given the store is available in "English (United States)"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Adding a new text product attribute
When I want to create a new text product attribute
And I specify its code as "t_shirt_brand"
@ -17,7 +17,7 @@ Feature: Adding a new text product attribute
Then I should be notified that it has been successfully created
And the text attribute "T-Shirt brand" should appear in the store
@todo @ui @no-api
@ui @no-api
Scenario: Seeing disabled type field while adding text a product attribute
When I want to create a new text product attribute
Then the type field should be disabled

View file

@ -8,7 +8,7 @@ Feature: Adding a new textarea product attribute
Given the store is available in "English (United States)"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Adding a new textarea product attribute
When I want to create a new textarea product attribute
And I specify its code as "t_shirt_details"
@ -17,7 +17,7 @@ Feature: Adding a new textarea product attribute
Then I should be notified that it has been successfully created
And the textarea attribute "T-Shirt details" should appear in the store
@todo @ui @no-api
@ui @no-api
Scenario: Seeing disabled type field while adding a textarea product attribute
When I want to create a new textarea product attribute
Then the type field should be disabled

View file

@ -10,7 +10,7 @@ Feature: Browsing product attributes
And the store has a integer product attribute "Book pages" with code "book_pages"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Browsing all product attributes in store
When I want to see all product attributes in store
Then I should see 3 product attributes in the list

View file

@ -10,7 +10,7 @@ Feature: Deleting multiple product attributes
And the store has a integer product attribute "Pages"
And I am logged in as an administrator
@todo @ui @mink:chromedriver @no-api
@ui @mink:chromedriver @no-api
Scenario: Deleting multiple product attributes at once
When I browse product attributes
And I check the "Publisher" product attribute

View file

@ -8,13 +8,13 @@ Feature: Deleting a product attribute
Given I am logged in as an administrator
And the store has a product "44 Magnum"
@todo @ui @api
@ui @api
Scenario: Trying to delete an attribute from the registry when a product uses it
Given this product has a text attribute "Gun caliber" with value "11 mm"
When I delete this product attribute
Then I should be notified that it is in use
@todo @ui @api
@ui @api
Scenario: Deleting a text product attribute when it's not used
Given the store has a text product attribute "Gun caliber"
When I delete this product attribute

View file

@ -9,7 +9,7 @@ Feature: Editing a select product attribute
And the store has a select product attribute "T-Shirt material" with value "Banana skin"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Editing a select product attribute name
When I want to edit this product attribute
And I change its name to "T-Shirt material" in "English (United States)"
@ -17,7 +17,7 @@ Feature: Editing a select product attribute
Then I should be notified that it has been successfully edited
And the select attribute "T-Shirt material" should appear in the store
@todo @ui @api
@ui @api
Scenario: Editing a select product attribute value
When I want to edit this product attribute
And I change its value "Banana skin" to "Orange skin"
@ -25,7 +25,7 @@ Feature: Editing a select product attribute
Then I should be notified that it has been successfully edited
And this product attribute should have value "Orange skin"
@todo @ui @javascript @api
@ui @mink:chromedriver @api
Scenario: Adding a new value to an existing select product attribute
When I want to edit this product attribute
And I add value "Orange skin" in "English (United States)"
@ -33,7 +33,7 @@ Feature: Editing a select product attribute
Then I should be notified that it has been successfully edited
And this product attribute should have value "Orange skin"
@todo @ui @javascript @api
@ui @mink:chromedriver @api
Scenario: Deleting a value from an existing select product attribute
When I want to edit this product attribute
And I delete value "Banana skin"
@ -41,12 +41,12 @@ Feature: Editing a select product attribute
Then I should be notified that it has been successfully edited
And this product attribute should not have value "Banana skin"
@todo @ui @api
@ui @api
Scenario: Being unable to change code of an existing product attribute
When I want to edit this product attribute
Then I should not be able to edit its code
@todo @ui @api
@ui @api
Scenario: Being unable to change type of an existing product attribute
When I want to edit this product attribute
Then I should not be able to edit its type

View file

@ -9,7 +9,7 @@ Feature: Editing a text product attribute
And the store has a text product attribute "T-Shirt cotton brand" with code "t_shirt_brand"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Editing product attribute name
When I want to edit this product attribute
And I change its name to "T-Shirt material" in "English (United States)"
@ -17,12 +17,12 @@ Feature: Editing a text product attribute
Then I should be notified that it has been successfully edited
And the text attribute "T-Shirt material" should appear in the store
@todo @ui @api
@ui @api
Scenario: Being unable to change code of an existing product attribute
When I want to edit this product attribute
Then I should not be able to edit its code
@todo @ui @api
@ui @api
Scenario: Being unable to change type of an existing product attribute
When I want to edit this product attribute
Then I should not be able to edit its type

View file

@ -0,0 +1,57 @@
@managing_product_attributes
Feature: Filtering product attributes
In order to quickly find specific product attributes
As an Administrator
I want to filter product attributes by various criteria
Background:
Given the store has a text product attribute "T-Shirt brand" with code "t_shirt_brand_abc"
And the store has a checkbox product attribute "T-Shirt with cotton" with code "t_shirt_with_cotton_xyz"
And this product attribute is not translatable
And the store has a integer product attribute "Book pages" with code "book_pages_xyz"
And I am logged in as an administrator
And I am browsing product attributes
@todo-api @ui
Scenario: Filtering product attributes by code
When I search by "xyz" code
Then I should see 2 product attributes in the list
And I should see the product attribute "T-Shirt with cotton" in the list
And I should also see the product attribute "Book pages" in the list
@todo-api @ui
Scenario: Filtering product attributes by name
When I search by "T-Shirt" name
Then I should see 2 product attributes in the list
And I should see the product attribute "T-Shirt brand" in the list
And I should also see the product attribute "T-Shirt with cotton" in the list
@todo-api @ui
Scenario: Filtering product attributes by type
When I choose "checkbox" in the type filter
And I filter
Then I should see a single product attribute in the list
And I should see the product attribute "T-Shirt with cotton" in the list
@todo-api @ui
Scenario: Filtering product attributes by multiple types
When I choose "text" and "integer" in the type filter
And I filter
Then I should see 2 product attributes in the list
And I should see the product attribute "T-Shirt brand" in the list
And I should also see the product attribute "Book pages" in the list
@todo-api @ui
Scenario: Filtering translatable product attributes
When I choose "Yes" in the translatable filter
And I filter
Then I should see 2 product attributes in the list
And I should see the product attribute "T-Shirt brand" in the list
And I should see the product attribute "Book pages" in the list
@todo-api @ui
Scenario: Filtering non-translatable product attributes
When I choose "No" in the translatable filter
And I filter
Then I should see a single product attribute in the list
And I should see the product attribute "T-Shirt with cotton" in the list

View file

@ -8,7 +8,7 @@ Feature: Product attribute unique code validation
Given the store is available in "English (United States)"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Trying to add a new product attribute with taken code
Given the store has a text product attribute "T-Shirt cotton material" with code "t_shirt_material"
When I want to create a new text product attribute

View file

@ -8,7 +8,7 @@ Feature: Seeing correct select attribute values in different locale than default
Given the store is available in "French (France)"
And I am logged in as an administrator
@todo @ui @javascript @no-api
@ui @mink:chromedriver @no-api
Scenario: Seeing correct attribute values in different locale than default one
When I want to create a new select product attribute
And I specify its code as "mug_material"
@ -16,4 +16,5 @@ Feature: Seeing correct select attribute values in different locale than default
And I add value "Banana Skin" in "French (France)"
And I add it
Then I should be notified that it has been successfully created
And I should see the value "Banana Skin"
And I should see the value "Banana Skin" in "French (France)" locale
And I should not see the value "Banana Skin" in "English (United States)" locale

View file

@ -8,7 +8,7 @@ Feature: Select product attribute validation
Given the store is available in "English (United States)"
And I am logged in as an administrator
@todo @ui @mink:chromedriver @api
@ui @mink:chromedriver @api
Scenario: Trying to add a new select product attribute with wrong max entries value
When I want to create a new select product attribute
And I name it "Mug material" in "English (United States)"
@ -22,7 +22,7 @@ Feature: Select product attribute validation
Then I should be notified that max entries value must be greater or equal to the min entries value
And the attribute with code "mug_material" should not appear in the store
@todo @ui @mink:chromedriver @api
@ui @mink:chromedriver @api
Scenario: Trying to add a new select product attribute with wrong min entries value
When I want to create a new select product attribute
And I name it "Mug material" in "English (United States)"
@ -36,7 +36,7 @@ Feature: Select product attribute validation
Then I should be notified that min entries value must be lower or equal to the number of added choices
And the attribute with code "mug_material" should not appear in the store
@todo @ui @mink:chromedriver @api
@ui @mink:chromedriver @api
Scenario: Trying to add a new select product attribute with specified entries values but without multiple option
When I want to create a new select product attribute
And I name it "Mug material" in "English (United States)"

View file

@ -10,21 +10,21 @@ Feature: Sorting listed product attributes by position
And the store has a integer product attribute "Book pages" at position 0
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Product attributes are sorted by position in ascending order by default
When I want to see all product attributes in store
Then I should see 3 product attributes in the list
And the first product attribute on the list should have name "Book pages"
And the last product attribute on the list should have name "T-Shirt with cotton"
@todo @ui @api
@ui @api
Scenario: Product attribute added at no position gets put at the bottom of the list
Given the store has also a text product attribute "Drive type"
When I want to see all product attributes in store
Then I should see 4 product attributes in the list
And the last product attribute on the list should have name "Drive type"
@todo @ui @api
@ui @api
Scenario: Product attribute added at position 0 is added as the first one
Given the store has also a text product attribute "Drive type" at position 0
When I want to see all product attributes in store

View file

@ -16,7 +16,7 @@ Feature: Text product attribute validation
And I save my changes
Then I should be notified that the locale is not available
@todo @ui @api
@ui @api
Scenario: Trying to add a new text product attribute without name
When I want to create a new text product attribute
And I specify its code as "t_shirt_with_cotton"
@ -25,7 +25,7 @@ Feature: Text product attribute validation
Then I should be notified that name is required
And the attribute with code "t_shirt_with_cotton" should not appear in the store
@todo @ui @api
@ui @api
Scenario: Trying to add a new text product attribute without code
When I want to create a new text product attribute
And I name it "T-Shirt brand" in "English (United States)"
@ -34,7 +34,7 @@ Feature: Text product attribute validation
Then I should be notified that code is required
And the attribute with name "T-Shirt brand" should not appear in the store
@todo @ui @api
@ui @api
Scenario: Trying to remove name for existing text product attribute
Given the store has a text product attribute "T-Shirt cotton brand"
When I want to edit this product attribute
@ -43,7 +43,7 @@ Feature: Text product attribute validation
Then I should be notified that name is required
And the text attribute "T-Shirt cotton brand" should still be in the store
@todo @ui @api
@ui @api
Scenario: Trying to add a new text product attribute with wrong configuration
When I want to create a new text product attribute
And I name it "T-Shirt brand" in "English (United States)"

View file

@ -8,7 +8,7 @@ Feature: Adding a new product option
Given the store is available in "English (United States)"
And I am logged in as an administrator
@todo @ui @mink:chromedriver @api
@ui @javascript @api
Scenario: Adding a new product option with two required option values
When I want to create a new product option
And I name it "T-Shirt size" in "English (United States)"
@ -21,7 +21,7 @@ Feature: Adding a new product option
And product option "T-Shirt size" should have the "S" option value
And product option "T-Shirt size" should have the "M" option value
@todo @ui @api
@ui @api
Scenario: Adding a new product option without any option values
When I want to create a new product option
And I name it "T-Shirt size" in "English (United States)"
@ -31,7 +31,7 @@ Feature: Adding a new product option
Then I should be notified that it has been successfully created
And the product option "T-Shirt size" should appear in the registry
@todo @ui @javascript @api
@ui @javascript @api
Scenario: Adding a new product option with one option value
When I want to create a new product option
And I name it "T-Shirt size" in "English (United States)"

View file

@ -4,7 +4,7 @@ Feature: Browsing product options
As an Administrator
I want to be able to browse product options
@todo @ui @api
@ui @api
Scenario: Browsing defined product options
Given I am logged in as an administrator
And the store has a product option "T-Shirt size" with a code "t_shirt_size"

View file

@ -10,7 +10,7 @@ Feature: Deleting multiple product options
And the store has also a product option "T-Shirt brand"
And I am logged in as an administrator
@todo @ui @mink:chromedriver @no-api
@ui @mink:chromedriver @no-api
Scenario: Deleting multiple product options at once
When I browse product options
And I check the "T-Shirt size" product option

View file

@ -9,7 +9,7 @@ Feature: Editing product options
And the store has a product option "T-Shirt size" with a code "t_shirt_size"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Renaming the product option
Given this product option has the "S" option value with code "t_shirt_size_s"
And this product option has also the "M" option value with code "t_shirt_size_m"

View file

@ -0,0 +1,26 @@
@managing_product_options
Feature: Filtering product options
In order to quickly find specific product options
As an Administrator
I want to filter product options by name and code
Background:
Given the store has a product option "T-Shirt size" with a code "t_shirt_size_abc"
And the store has a product option "T-Shirt color" with a code "t_shirt_color_xyz"
And the store has a product option "Jeans size" with a code "jeans_size_xyz"
And I am logged in as an administrator
And I am browsing product options
@ui @todo-api
Scenario: Filtering product options by name
When I search for product options with "T-Shirt"
Then I should see 2 product options in the list
And the product option "T-Shirt size" should be in the registry
And the product option "T-Shirt color" should be in the registry
@ui @todo-api
Scenario: Filtering product options by code
When I search for product options with "xyz"
Then I should see 2 product options in the list
And the product option "T-Shirt color" should be in the registry
And the product option "Jeans size" should be in the registry

View file

@ -11,7 +11,7 @@ Feature: Managing option values of a product option
And this product option has also the "M" option value with code "OV2"
And I am logged in as an administrator
@todo @ui @mink:chromedriver @api
@ui @mink:chromedriver @api
Scenario: Adding an option value to an existing product option
When I want to modify the "T-Shirt size" product option
And I add the "L" option value identified by "OV3"
@ -19,7 +19,7 @@ Feature: Managing option values of a product option
Then I should be notified that it has been successfully edited
And this product option should have the "L" option value
@todo @ui @javascript @todo
@ui @javascript @todo
Scenario: Removing an option value from an existing product option
Given this product option has also the "L" option value with code "OV3"
When I want to modify the "T-Shirt size" product option
@ -28,7 +28,7 @@ Feature: Managing option values of a product option
Then I should be notified that it has been successfully edited
And this product option should not have the "L" option value
@todo @ui @javascript @todo
@ui @javascript @todo
Scenario: Removing and adding a new option value to an existing product option
When I want to modify the "T-Shirt size" product option
And I delete the "M" option value of this product option

View file

@ -9,7 +9,7 @@ Feature: Product option unique code validation
And the store has a product option "T-Shirt size" with a code "t_shirt_size"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Trying to add product option with a taken code
When I want to create a new product option
And I name it "T-Shirt color" in "English (United States)"

View file

@ -9,7 +9,7 @@ Feature: Product option validation
And the store has a product option "T-Shirt color" with a code "t_shirt_color"
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Trying to add a new product option without specifying its code
When I want to create a new product option
And I name it "T-Shirt size" in "English (United States)"
@ -25,7 +25,7 @@ Feature: Product option validation
And I try to save my changes
Then I should be notified that the locale is not available
@todo @ui @api
@ui @api
Scenario: Trying to add a new product option with a too long code
When I want to create a new product option
And I name it "T-Shirt size" in "English (United States)"
@ -33,7 +33,7 @@ Feature: Product option validation
And I try to add it
Then I should be notified that code is too long
@todo @ui @api
@ui @api
Scenario: Trying to add a new product option without specifying its name
When I want to create a new product option
And I specify its code as "t_shirt_size"
@ -42,7 +42,7 @@ Feature: Product option validation
Then I should be notified that name is required
And the product option with code "t_shirt_size" should not be added
@todo @ui @api
@ui @api
Scenario: Trying to remove name from an existing product option
When I want to modify the "T-Shirt color" product option
And I remove its name from "English (United States)" translation

View file

@ -10,20 +10,20 @@ Feature: Sorting listed product options by position
And the store has also a product option "Mug type" at position 1
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Product options are sorted by position in ascending order by default
When I browse product options
Then I should see 3 product options in the list
And the first product option in the list should have name "Mug size"
And the last product option in the list should have name "Mug color"
@todo @ui @api
@ui @api
Scenario: Product option added at no position is added as the last one
Given the store has a product option "Mug shape"
When I browse product options
Then the last product option in the list should have name "Mug shape"
@todo @ui @api
@ui @api
Scenario: Product option added at position 0 is added as the first one
Given the store has a product option "Mug shape" at position 0
When I browse product options

View file

@ -13,7 +13,7 @@ Feature: Adding a new product
Scenario: Adding a new simple product with price
When I want to create a new simple product
And I specify its code as "BOARD_DICE_BREWING"
And I name it "Dice Brewing" in "English (United States)"
And I name it "Dice Brewing" in "English (United States)" locale
And I set its slug to "dice-brewing"
And I set its price to "$10.00" for "United States" channel
And I add it
@ -24,7 +24,7 @@ Feature: Adding a new product
Scenario: Adding a new simple product with discounted price
When I want to create a new simple product
And I specify its code as "BOARD_DICE_BREWING"
And I name it "Dice Brewing" in "English (United States)"
And I name it "Dice Brewing" in "English (United States)" locale
And I set its slug to "dice-brewing"
And I set its price to "$10.00" for "United States" channel
And I set its original price to "$20.00" for "United States" channel
@ -36,7 +36,7 @@ Feature: Adding a new product
Scenario: Adding a new simple free product
When I want to create a new simple product
And I specify its code as "BOARD_DICE_BREWING"
And I name it "Dice Brewing" in "English (United States)"
And I name it "Dice Brewing" in "English (United States)" locale
And I set its slug to "dice-brewing"
And I set its price to "$0.00" for "United States" channel
And I add it
@ -47,7 +47,7 @@ Feature: Adding a new product
Scenario: Adding a new simple product with specific shipping category
When I want to create a new simple product
And I specify its code as "BOARD_DICE_BREWING"
And I name it "Dice Brewing" in "English (United States)"
And I name it "Dice Brewing" in "English (United States)" locale
And I set its slug to "dice-brewing"
And I set its price to "$10.00" for "United States" channel
And I set its shipping category as "Standard"
@ -59,7 +59,7 @@ Feature: Adding a new product
Scenario: Adding a new simple product without shipping required
When I want to create a new simple product
And I specify its code as "BOARD_DICE_BREWING"
And I name it "Dice Brewing" in "English (United States)"
And I name it "Dice Brewing" in "English (United States)" locale
And I set its slug to "dice-brewing"
And I set its price to "$10.00" for "United States" channel
And I do not want to have shipping required for this product
@ -72,7 +72,7 @@ Feature: Adding a new product
Scenario: Adding a new configurable product without options
When I want to create a new configurable product
And I specify its code as "WHISKEY_GENTLEMEN"
And I name it "Gentleman Jack" in "English (United States)"
And I name it "Gentleman Jack" in "English (United States)" locale
And I set its slug to "gentleman-jack"
And I add it
Then I should be notified that it has been successfully created
@ -85,7 +85,7 @@ Feature: Adding a new product
And this product option has also the "0.5" option value with code "bottle_size_small"
When I want to create a new configurable product
And I specify its code as "WHISKEY_GENTLEMEN"
And I name it "Gentleman Jack" in "English (United States)"
And I name it "Gentleman Jack" in "English (United States)" locale
And I set its slug to "gentleman-jack"
And I add the "Bottle size" option to it
And I add it

View file

@ -0,0 +1,21 @@
@managing_products
Feature: Adding a product attribute without providing any value
In order to avoid mistakes while adding a product attribute
As an Administrator
I want to be informed when I try to add an empty product attribute
Background:
Given the store operates on a single channel in "United States"
And the locale "French (France)" is enabled
And the store also operates in "French (France)" locale
And the store has text product attribute "Color"
And I am logged in as an administrator
@ui @mink:chromedriver @no-api
Scenario: Adding a product attribute without providing any value
When I want to create a new configurable product
And I specify its code as "Jeans"
And I name it "Colored jeans" in "English (United States)" locale
And I add the "Color" attribute
And I try to add it
Then I should be notified that the "Color" attribute value for "English (United States)" is required

View file

@ -14,7 +14,7 @@ Feature: Adding a new product with associations
Scenario: Adding a new product with associations
When I want to create a new simple product
And I specify its code as "lg_g3"
And I name it "LG G3" in "English (United States)"
And I name it "LG G3" in "English (United States)" locale
And I set its slug to "lg-g3"
And I set its price to "$400.00" for "United States" channel
And I associate as "Accessories" the "LG headphones" and "LG earphones" products
@ -29,7 +29,7 @@ Feature: Adding a new product with associations
Scenario: Adding a new product with associations after changing associated items
When I want to create a new simple product
And I specify its code as "lg_g3"
And I name it "LG G3" in "English (United States)"
And I name it "LG G3" in "English (United States)" locale
And I set its slug to "lg-g3"
And I set its price to "$400.00" for "United States" channel
And I associate as "Accessories" the "LG headphones" and "LG earphones" products
@ -45,7 +45,7 @@ Feature: Adding a new product with associations
Given the store has 123 product association type
When I want to create a new simple product
And I specify its code as "lg_g3"
And I name it "LG G3" in "English (United States)"
And I name it "LG G3" in "English (United States)" locale
And I set its slug to "lg-g3"
And I set its price to "$400.00" for "United States" channel
And I associate as 123 the "LG headphones" and "LG earphones" products

View file

@ -12,8 +12,8 @@ Feature: Adding a new product with images
Scenario: Adding a new simple product with a single image
When I want to create a new simple product
And I specify its code as "LAMBORGHINI_GALLARDO"
And I name it "Lamborghini Gallardo Model" in "English (United States)"
And I set its slug to "lamborghini-gallardo-model" in "English (United States)"
And I name it "Lamborghini Gallardo Model" in "English (United States)" locale
And I set its slug to "lamborghini-gallardo-model" in "English (United States)" locale
And I set its price to "$100.00" for "United States" channel
And I attach the "lamborghini.jpg" image with "banner" type
And I add it
@ -24,8 +24,8 @@ Feature: Adding a new product with images
Scenario: Adding a new simple product with multiple images
When I want to create a new simple product
And I specify its code as "LAMBORGHINI_GALLARDO"
And I name it "Lamborghini Gallardo Model" in "English (United States)"
And I set its slug to "lamborghini-gallardo-model" in "English (United States)"
And I name it "Lamborghini Gallardo Model" in "English (United States)" locale
And I set its slug to "lamborghini-gallardo-model" in "English (United States)" locale
And I set its price to "$100.00" for "United States" channel
And I attach the "lamborghini.jpg" image with "banner" type
And I attach the "lamborghini.jpg" image with "thumbnail" type
@ -41,8 +41,8 @@ Feature: Adding a new product with images
And this product option has also the "1:18" option value with code "model_scale_big"
When I want to create a new configurable product
And I specify its code as "LAMBORGHINI_GALLARDO"
And I name it "Lamborghini Gallardo Model" in "English (United States)"
And I set its slug to "lamborghini-gallardo-model" in "English (United States)"
And I name it "Lamborghini Gallardo Model" in "English (United States)" locale
And I set its slug to "lamborghini-gallardo-model" in "English (United States)" locale
And I add the "Model scale" option to it
And I attach the "lamborghini.jpg" image with "banner" type
And I add it

View file

@ -0,0 +1,48 @@
@managing_products
Feature: Checking taxons of a product
In order to specify in which taxons a product is available
As an Administrator
I want to be able to check all or uncheck all taxons of a product
Background:
Given the store operates on a single channel in "United States"
And the store classifies its products as "Clothes" and "T-Shirts"
And the store has a "Shirt" configurable product
And the store has a "T-Shirt" configurable product
And the product "T-Shirt" belongs to taxon "Clothes"
And the product "T-Shirt" belongs to taxon "T-Shirts"
And I am logged in as an administrator
@ui @no-api @mink:chromedriver
Scenario: Checking all taxons
When I want to modify the "Shirt" product
And I check all taxons
And I save my changes
Then the product "Shirt" should have the "Clothes" taxon
And the product "Shirt" should have the "T-Shirts" taxon
@ui @no-api @mink:chromedriver
Scenario: Unchecking all taxons
When I want to modify the "T-Shirt" product
And I uncheck all taxons
And I save my changes
Then the product "Shirt" should not have the "Clothes" taxon
And the product "Shirt" should not have the "T-Shirts" taxon
@ui @no-api @mink:chromedriver
Scenario: Checking all filtered taxons
When I want to modify the "Shirt" product
And I filter taxons by "T-Shirts"
And I check all taxons
And I save my changes
Then the product "Shirt" should have the "T-Shirts" taxon
But the product "Shirt" should not have the "Clothes" taxon
@ui @no-api @mink:chromedriver
Scenario: Unchecking all filtered taxons
When I want to modify the "T-Shirt" product
And I filter taxons by "T-Shirts"
And I uncheck all taxons
And I save my changes
Then the product "Shirt" should not have the "T-Shirts" taxon
But the product "Shirt" should have the "Clothes" taxon

View file

@ -17,16 +17,16 @@ Feature: Editing a product
@ui @no-api
Scenario: Renaming a simple product
When I want to modify the "Dice Brewing" product
And I rename it to "7 Wonders" in "English (United States)"
And I rename it to "7 Wonders" in "English (United States)" locale
And I save my changes
Then I should be notified that it has been successfully edited
And this product name should be "7 Wonders"
And this product name should be "7 Wonders" in "English (United States)" locale
@ui @no-api
Scenario: Renaming a simple product does not change its variant name
Given this product only variant was renamed to "Dice Brewing: The Game"
When I want to modify this product
And I rename it to "7 Wonders" in "English (United States)"
And I rename it to "7 Wonders" in "English (United States)" locale
And I save my changes
And I want to view all variants of this product
Then the first variant in the list should have name "Dice Brewing: The Game"
@ -53,10 +53,10 @@ Feature: Editing a product
Scenario: Renaming a configurable product
Given the store has a "Wyborowa Vodka" configurable product
When I want to modify this product
And I rename it to "Sobieski Vodka" in "English (United States)"
And I rename it to "Sobieski Vodka" in "English (United States)" locale
And I save my changes
Then I should be notified that it has been successfully edited
And this product name should be "Sobieski Vodka"
And this product name should be "Sobieski Vodka" in "English (United States)" locale
@ui @api
Scenario: Renaming a configurable product with option
@ -64,10 +64,10 @@ Feature: Editing a product
And the store has a product option "Bottle size" with a code "bottle_size"
And this product has this product option
When I want to modify this product
And I rename it to "Sobieski Vodka" in "English (United States)"
And I rename it to "Sobieski Vodka" in "English (United States)" locale
And I save my changes
Then I should be notified that it has been successfully edited
And this product name should be "Sobieski Vodka"
And this product name should be "Sobieski Vodka" in "English (United States)" locale
@ui @mink:chromedriver @api
Scenario: Changing options of configurable product without any variant defined

View file

@ -12,8 +12,8 @@ Feature: Editing product's slug
Scenario: Creating a product with an autogenerated slug
When I want to create a new configurable product
And I specify its code as "BOARD_MANSION_OF_MADNESS"
And I name it "Mansion of Madness" in "English (United States)"
And I generate its slug in "English (United States)"
And I name it "Mansion of Madness" in "English (United States)" locale
And I generate its slug in "English (United States)" locale
And I add it
Then the slug of the "Mansion of Madness" product should be "mansion-of-madness"
@ -21,8 +21,8 @@ Feature: Editing product's slug
Scenario: Creating a product with a custom slug
When I want to create a new configurable product
And I specify its code as "BOARD_MANSION_OF_MADNESS"
And I name it "Mansion of Madness" in "English (United States)"
And I set its slug to "mom-board-game" in "English (United States)"
And I name it "Mansion of Madness" in "English (United States)" locale
And I set its slug to "mom-board-game" in "English (United States)" locale
And I add it
Then the slug of the "Mansion of Madness" product should be "mom-board-game"
@ -30,6 +30,6 @@ Feature: Editing product's slug
Scenario: Prevent from editing a slug while changing a product name
Given the store has a product "Mansion of Madness"
When I want to modify this product
And I rename it to "Mansion of Madness: Second Edition" in "English (United States)"
And I rename it to "Mansion of Madness: Second Edition" in "English (United States)" locale
And I save my changes
Then the slug of the "Mansion of Madness: Second Edition" product should still be "mansion-of-madness"

View file

@ -14,10 +14,10 @@ Feature: Editing product's slug in multiple locales
Scenario: Creating a product with custom slugs
When I want to create a new configurable product
And I specify its code as "PUG_PUGGINTON_PLUSHIE"
And I name it "Pug Pugginton Plushie" in "English (United States)"
And I set its slug to "sir-pugginton" in "English (United States)"
And I name it "Pluszak Mops Mopsiński" in "Polish (Poland)"
And I set its slug to "pan-mopsinski" in "Polish (Poland)"
And I name it "Pug Pugginton Plushie" in "English (United States)" locale
And I set its slug to "sir-pugginton" in "English (United States)" locale
And I name it "Pluszak Mops Mopsiński" in "Polish (Poland)" locale
And I set its slug to "pan-mopsinski" in "Polish (Poland)" locale
And I add it
Then the slug of the "Pug Pugginton Plushie" product should be "sir-pugginton" in the "English (United States)" locale
And the slug of the "Pug Pugginton Plushie" product should be "pan-mopsinski" in the "Polish (Poland)" locale
@ -26,10 +26,10 @@ Feature: Editing product's slug in multiple locales
Scenario: Creating a product with autogenerated slugs
When I want to create a new configurable product
And I specify its code as "PUG_PUGGINTON_PLUSHIE"
And I name it "Pug Pugginton Plushie" in "English (United States)"
And I generate its slug in "English (United States)"
And I name it "Pluszak Mops Mopsiński" in "Polish (Poland)"
And I generate its slug in "Polish (Poland)"
And I name it "Pug Pugginton Plushie" in "English (United States)" locale
And I generate its slug in "English (United States)" locale
And I name it "Pluszak Mops Mopsiński" in "Polish (Poland)" locale
And I generate its slug in "Polish (Poland)" locale
And I add it
Then the slug of the "Pug Pugginton Plushie" product should be "pug-pugginton-plushie" in the "English (United States)" locale
And the slug of the "Pug Pugginton Plushie" product should be "pluszak-mops-mopsinski" in the "Polish (Poland)" locale

View file

@ -0,0 +1,18 @@
@managing_products
Feature: Filtering product taxons
In order to quickly find taxons
As an Administrator
I want to search for a specific taxon
Background:
Given the store operates on a single channel in "United States"
And the store classifies its products as "Clothes" and "T-Shirts"
And the store has a "Shirt" configurable product
And I am logged in as an administrator
@ui @no-api @mink:chromedriver
Scenario: Filtering product taxons
When I want to modify the "Shirt" product
And I filter taxons by "T-Shirts"
Then I should see the "T-Shirts" taxon
But I should not see the "Clothes" taxon

View file

@ -13,7 +13,7 @@ Feature: Adding a new product with a date attribute
Scenario: Adding a date attribute to a product
When I want to create a new configurable product
And I specify its code as "mug"
And I name it "Mug" in "English (United States)"
And I name it "Mug" in "English (United States)" locale
And I set its non-translatable "Manufactured" attribute to "2023-10-10"
And I add it
Then I should be notified that it has been successfully created
@ -24,7 +24,7 @@ Feature: Adding a new product with a date attribute
Scenario: Trying to add an invalid date attribute to product
When I want to create a new configurable product
And I specify its code as "44_MAGNUM"
And I name it "44 Magnum" in "English (United States)"
And I name it "44 Magnum" in "English (United States)" locale
And I set the invalid integer value of the non-translatable "Manufactured" attribute to 10
And I try to add it
Then I should be notified that the value of the "Manufactured" attribute has invalid type

View file

@ -13,7 +13,7 @@ Feature: Adding a new product with a datetime attribute
Scenario: Adding a datetime attribute to a product
When I want to create a new configurable product
And I specify its code as "mug"
And I name it "Mug" in "English (United States)"
And I name it "Mug" in "English (United States)" locale
And I set its non-translatable "Manufactured" attribute to "2023-10-10 10:20:30"
And I add it
Then I should be notified that it has been successfully created
@ -24,7 +24,7 @@ Feature: Adding a new product with a datetime attribute
Scenario: Trying to add an invalid datetime attribute to product
When I want to create a new configurable product
And I specify its code as "44_MAGNUM"
And I name it "44 Magnum" in "English (United States)"
And I name it "44 Magnum" in "English (United States)" locale
And I set the invalid integer value of the non-translatable "Manufactured" attribute to 10
And I try to add it
Then I should be notified that the value of the "Manufactured" attribute has invalid type

View file

@ -13,7 +13,7 @@ Feature: Adding a new product with a float attribute
Scenario: Adding a float attribute to a product
When I want to create a new configurable product
And I specify its code as "display_size"
And I name it "Smartphone" in "English (United States)"
And I name it "Smartphone" in "English (United States)" locale
And I set its slug to "smartphone"
And I add the "Display Size" attribute to it
And I set its non-translatable "Display Size" attribute to 12.5
@ -26,7 +26,7 @@ Feature: Adding a new product with a float attribute
Scenario: Trying to add an invalid float attribute to product
When I want to create a new configurable product
And I specify its code as "44_MAGNUM"
And I name it "44 Magnum" in "English (United States)"
And I name it "44 Magnum" in "English (United States)" locale
And I set its slug to "44-magnum"
And I set the invalid string value of the non-translatable "Display Size" attribute to "12.5"
And I try to add it

View file

@ -14,10 +14,10 @@ Feature: Adding a new product with an integer attribute
Scenario: Adding an integer attribute to product
When I want to create a new configurable product
And I specify its code as "44_MAGNUM"
And I name it "44 Magnum" in "English (United States)"
And I name it "44 Magnum" in "English (United States)" locale
And I set its slug to "44-magnum"
And I add the "Production year" attribute to it
And I set the "Production year" attribute value to 1955 in "English (United States)"
And I set the "Production year" attribute value to 1955 in "English (United States)" locale
And I add it
Then I should be notified that it has been successfully created
And the product "44 Magnum" should appear in the store
@ -27,7 +27,7 @@ Feature: Adding a new product with an integer attribute
Scenario: Adding an integer non-translatable attribute to product
When I want to create a new configurable product
And I specify its code as "44_MAGNUM"
And I name it "44 Magnum" in "English (United States)"
And I name it "44 Magnum" in "English (United States)" locale
And I set its slug to "44-magnum"
And I add the "Weight" attribute to it
And I set its non-translatable "Weight" attribute to 10
@ -40,7 +40,7 @@ Feature: Adding a new product with an integer attribute
Scenario: Trying to add an invalid integer attribute to product
When I want to create a new configurable product
And I specify its code as "44_MAGNUM"
And I name it "44 Magnum" in "English (United States)"
And I name it "44 Magnum" in "English (United States)" locale
And I set the invalid string value of the non-translatable "Weight" attribute to "ten"
And I try to add it
Then I should be notified that the value of the "Weight" attribute has invalid type

View file

@ -14,10 +14,10 @@ Feature: Adding a new product with a percent attribute
Scenario: Adding a percent attribute to product
When I want to create a new configurable product
And I specify its code as "44_MAGNUM"
And I name it "44 Magnum" in "English (United States)"
And I name it "44 Magnum" in "English (United States)" locale
And I set its slug to "44-magnum"
And I add the "Awesomeness rating" attribute to it
And I set the "Awesomeness rating" attribute value to 80 in "English (United States)"
And I set the "Awesomeness rating" attribute value to 80 in "English (United States)" locale
And I add it
Then I should be notified that it has been successfully created
And the product "44 Magnum" should appear in the store
@ -27,8 +27,8 @@ Feature: Adding a new product with a percent attribute
Scenario: Adding a non-translatable percent attribute to product
When I want to create a new configurable product
And I specify its code as "44_MAGNUM"
And I name it "44 Magnum" in "English (United States)"
And I set its slug to "44-magnum"
And I name it "44 Magnum" in "English (United States)" locale
And I set its slug to "44-magnum" in "English (United States)" locale
And I add the "Accuracy" attribute to it
And I set its non-translatable "Accuracy" attribute to 95
And I add it
@ -40,8 +40,8 @@ Feature: Adding a new product with a percent attribute
Scenario: Trying to add an invalid percent attribute to product
When I want to create a new configurable product
And I specify its code as "44_MAGNUM"
And I name it "44 Magnum" in "English (United States)"
And I set its slug to "44-magnum"
And I name it "44 Magnum" in "English (United States)" locale
And I set its slug to "44-magnum" in "English (United States)" locale
And I set the invalid string value of the non-translatable "Accuracy" attribute to "ninety"
And I try to add it
Then I should be notified that the value of the "Accuracy" attribute has invalid type

View file

@ -13,7 +13,7 @@ Feature: Adding a new product with a select attribute
Scenario: Adding a product with a select attribute with choices in different locales
When I want to create a new configurable product
And I specify its code as "mug"
And I name it "PHP Mug" in "English (United States)"
And I name it "PHP Mug" in "English (United States)" locale
And I set its slug to "php-mug"
And I add the "Mug material" attribute
And I select "Ceramic" value for the "Mug material" attribute
@ -26,7 +26,7 @@ Feature: Adding a new product with a select attribute
Scenario: Trying to add an invalid select attribute to product
When I want to create a new configurable product
And I specify its code as "mug"
And I name it "PHP Mug" in "English (United States)"
And I name it "PHP Mug" in "English (United States)" locale
And I set its slug to "php-mug"
And I add the "Mug material" attribute
And I set the invalid string value of the non-translatable "Mug material" attribute to "ceramic"

View file

@ -15,10 +15,10 @@ Feature: Adding a new product with text attribute
Scenario: Adding a text attribute to product
When I want to create a new configurable product
And I specify its code as "44_MAGNUM"
And I name it "44 Magnum" in "English (United States)"
And I name it "44 Magnum" in "English (United States)" locale
And I set its slug to "44-magnum"
And I add the "Gun caliber" attribute
And I set the "Gun caliber" attribute value to "11 mm" in "English (United States)"
And I set the "Gun caliber" attribute value to "11 mm" in "English (United States)" locale
And I add it
Then I should be notified that it has been successfully created
And the product "44 Magnum" should appear in the store
@ -28,7 +28,7 @@ Feature: Adding a new product with text attribute
Scenario: Adding a non-translatable text attribute to product
When I want to create a new configurable product
And I specify its code as "44_MAGNUM"
And I name it "44 Magnum" in "English (United States)"
And I name it "44 Magnum" in "English (United States)" locale
And I set its slug to "44-magnum"
And I add the "Author" attribute to it
And I set its non-translatable "Author" attribute to "Colt"
@ -41,12 +41,12 @@ Feature: Adding a new product with text attribute
Scenario: Adding and removing text attributes on product create page
When I want to create a new configurable product
And I specify its code as "44_MAGNUM"
And I name it "44 Magnum" in "English (United States)"
And I name it "44 Magnum" in "English (United States)" locale
And I set its slug to "44-magnum"
And I add the "Gun caliber" attribute
And I set the "Gun caliber" attribute value to "11 mm" in "English (United States)"
And I set the "Gun caliber" attribute value to "11 mm" in "English (United States)" locale
And I add the "Overall length" attribute
And I set the "Overall length" attribute value to "30.5 cm" in "English (United States)"
And I set the "Overall length" attribute value to "30.5 cm" in "English (United States)" locale
And I remove its "Gun caliber" attribute
And I add it
Then I should be notified that it has been successfully created
@ -58,7 +58,7 @@ Feature: Adding a new product with text attribute
Scenario: Trying to add an invalid text attribute to product
When I want to create a new configurable product
And I specify its code as "44_MAGNUM"
And I name it "44 Magnum" in "English (United States)"
And I name it "44 Magnum" in "English (United States)" locale
And I set its slug to "44-magnum"
And I set the invalid integer value of the non-translatable "Author" attribute to 5
And I try to add it

View file

@ -18,7 +18,7 @@ Feature: Adding select attributes in different locales to a product
Scenario: Adding a product with a select attribute with choices in different locales
When I want to create a new configurable product
And I specify its code as "mug"
And I name it "PHP Mug" in "English (United States)"
And I name it "PHP Mug" in "English (United States)" locale
And I set its slug to "php-mug"
And I add the "Mug material" attribute
And I select "Ceramic" value in "English (United States)" for the "Mug material" attribute
@ -26,5 +26,5 @@ Feature: Adding select attributes in different locales to a product
And I add it
Then I should be notified that it has been successfully created
And the product "PHP Mug" should appear in the store
And select attribute "Mug material" of product "PHP Mug" should be "Ceramic" in "English (United States)"
And select attribute "Mug material" of product "PHP Mug" should be "Ceramika" in "Polish (Poland)"
And select attribute "Mug material" of product "PHP Mug" should be "Ceramic" in "English (United States)" locale
And select attribute "Mug material" of product "PHP Mug" should be "Ceramika" in "Polish (Poland)" locale

View file

@ -16,24 +16,24 @@ Feature: Adding text attributes in different locales to a product
Scenario: Adding a product with a text attribute in different locales
When I want to create a new configurable product
And I specify its code as "mug"
And I name it "PHP Mug" in "English (United States)"
And I name it "PHP Mug" in "English (United States)" locale
And I set its slug to "php-mug"
And I add the "Mug material" attribute
And I set the "Mug material" attribute value to "Wood" in "English (United States)"
And I set the "Mug material" attribute value to "Drewno" in "Polish (Poland)"
And I set the "Mug material" attribute value to "Wood" in "English (United States)" locale
And I set the "Mug material" attribute value to "Drewno" in "Polish (Poland)" locale
And I add it
Then I should be notified that it has been successfully created
And the product "PHP Mug" should appear in the store
And attribute "Mug material" of product "PHP Mug" should be "Wood" in "English (United States)"
And attribute "Mug material" of product "PHP Mug" should be "Drewno" in "Polish (Poland)"
And attribute "Mug material" of product "PHP Mug" should be "Wood" in "English (United States)" locale
And attribute "Mug material" of product "PHP Mug" should be "Drewno" in "Polish (Poland)" locale
@ui @mink:chromedriver @api
Scenario: Adding a text attribute in different locales to an existing product
When I want to modify the "Symfony Mug" product
And I add the "Mug material" attribute
And I set the "Mug material" attribute value to "Wood" in "English (United States)"
And I set the "Mug material" attribute value to "Drewno" in "Polish (Poland)"
And I set the "Mug material" attribute value to "Wood" in "English (United States)" locale
And I set the "Mug material" attribute value to "Drewno" in "Polish (Poland)" locale
And I save my changes
Then I should be notified that it has been successfully edited
And attribute "Mug material" of product "Symfony Mug" should be "Wood" in "English (United States)"
And attribute "Mug material" of product "Symfony Mug" should be "Drewno" in "Polish (Poland)"
And attribute "Mug material" of product "Symfony Mug" should be "Wood" in "English (United States)" locale
And attribute "Mug material" of product "Symfony Mug" should be "Drewno" in "Polish (Poland)" locale

View file

@ -14,7 +14,7 @@ Feature: Adding attributes to an existing product
Scenario: Adding a text attribute to an existing product
When I want to modify the "44 Magnum" product
And I add the "Overall length" attribute to it
And I set the "Overall length" attribute value to "30.5 cm" in "English (United States)"
And I set the "Overall length" attribute value to "30.5 cm" in "English (United States)" locale
And I save my changes
Then I should be notified that it has been successfully edited
And attribute "Overall length" of product "44 Magnum" should be "30.5 cm"
@ -24,7 +24,7 @@ Feature: Adding attributes to an existing product
Given this product has a text attribute "Gun caliber" with value "11 mm" in "English (United States)" locale
When I want to modify the "44 Magnum" product
And I add the "Overall length" attribute to it
And I set the "Overall length" attribute value to "30.5 cm" in "English (United States)"
And I set the "Overall length" attribute value to "30.5 cm" in "English (United States)" locale
And I save my changes
Then I should be notified that it has been successfully edited
And attribute "Gun caliber" of product "44 Magnum" should be "11 mm"
@ -34,7 +34,7 @@ Feature: Adding attributes to an existing product
Scenario: Adding and removing text attributes on product update page
When I want to modify the "44 Magnum" product
And I add the "Overall length" attribute to it
And I set the "Overall length" attribute value to "30.5 cm" in "English (United States)"
And I set the "Overall length" attribute value to "30.5 cm" in "English (United States)" locale
And I remove its "Overall length" attribute
And I save my changes
Then I should be notified that it has been successfully edited
@ -45,7 +45,7 @@ Feature: Adding attributes to an existing product
Given this product has a text attribute "Gun caliber" with value "11 mm" in "English (United States)" locale
When I want to modify the "44 Magnum" product
And I add the "Overall length" attribute to it
And I set the "Overall length" attribute value to "30.5 cm" in "English (United States)"
And I set the "Overall length" attribute value to "30.5 cm" in "English (United States)" locale
And I save my changes
And I remove its "Gun caliber" attribute
And I save my changes

View file

@ -12,16 +12,22 @@ Feature: Modifying taxons assigned to an existing product
And the product "T-Shirt" belongs to taxon "Clothes"
And I am logged in as an administrator
@todo @ui @api
@ui @mink:chromedriver @api
Scenario: Modifying taxons assigned to a product
When I change that the "T-Shirt" product does not belong to the "Clothes" taxon
When I want to modify the "T-Shirt" product
And I change that the "T-Shirt" product does not belong to the "Clothes" taxon
And I add "T-Shirts" taxon to the "T-Shirt" product
And I save my changes
Then the product "T-Shirt" should have the "T-Shirts" taxon
And the product "T-Shirt" should not have the "Clothes" taxon
@todo @ui @api
@ui @mink:chromedriver @api
Scenario: Adding taxons to product
When I add "Clothes" taxon to the "Shirt" product
When I want to modify the "Shirt" product
And I add "Clothes" taxon to the "Shirt" product
And I save my changes
Then the product "Shirt" should have the "Clothes" taxon
And the product "Shirt" should not have the "T-Shirts" taxon
@api @no-ui
Scenario: Being prevented from adding the same taxon twice

View file

@ -13,7 +13,7 @@ Feature: Preventing a potential XSS attack while adding a new product
@ui @mink:chromedriver @no-api
Scenario: Preventing a potential XSS attack while adding new product
When I want to create a new simple product
Then I should be able to name it "No XSS" in "English (United States)"
Then I should be able to name it "No XSS" in "English (United States)" locale
@todo @ui @javascript @no-api
Scenario: Preventing a potential XSS attack while choosing main taxon for a new product

View file

@ -16,7 +16,7 @@ Feature: Products validation
@ui @no-api
Scenario: Adding a new simple product without specifying its code
When I want to create a new simple product
And I name it "Dice Brewing" in "English (United States)"
And I name it "Dice Brewing" in "English (United States)" locale
And I set its price to "$10.00" for "Web" channel
And I try to add it
Then I should be notified that code is required
@ -25,7 +25,7 @@ Feature: Products validation
@no-ui @api
Scenario: Trying to add product translation in unexisting locale
When I want to modify the "Symfony Mug" product
And I name it "Symfony tasse" in "French (France)"
And I name it "Symfony tasse" in "French (France)" locale
And I try to save my changes
Then I should be notified that the locale is not available
@ -34,7 +34,7 @@ Feature: Products validation
Given the store has a product "7 Wonders" with code "AWESOME_GAME"
When I want to create a new simple product
And I specify its code as "AWESOME_GAME"
And I name it "Dice Brewing" in "English (United States)"
And I name it "Dice Brewing" in "English (United States)" locale
And I set its slug to "dice-brewing"
And I set its price to "$10.00" for "Web" channel
And I try to add it
@ -47,7 +47,7 @@ Feature: Products validation
And this product has "7 Wonders: Cities" variant priced at "$30.00" identified by "AWESOME_GAME"
When I want to create a new simple product
And I specify its code as "AWESOME_GAME"
And I name it "Dice Brewing" in "English (United States)"
And I name it "Dice Brewing" in "English (United States)" locale
And I set its slug to "dice-brewing"
And I set its price to "$10.00" for "Web" channel
And I try to add it
@ -58,7 +58,7 @@ Feature: Products validation
Scenario: Adding a new simple product without specifying its slug
When I want to create a new simple product
And I specify its code as "BOARD_DICE_BREWING"
And I name it "Dice Brewing" in "English (United States)"
And I name it "Dice Brewing" in "English (United States)" locale
And I set its price to "$10.00" for "Web" channel
And I try to add it
Then I should be notified that slug is required
@ -82,7 +82,7 @@ Feature: Products validation
And I make it available in channel "Web"
And I make it available in channel "Web-GB"
And I set its price to "$10.00" for "Web" channel
And I name it "Dice Brewing" in "English (United States)"
And I name it "Dice Brewing" in "English (United States)" locale
And I set its slug to "dice-brewing"
And I try to add it
Then I should be notified that price must be defined for every channel
@ -91,7 +91,7 @@ Feature: Products validation
@ui @api
Scenario: Adding a new configurable product without specifying its code
When I want to create a new configurable product
And I name it "Dice Brewing" in "English (United States)"
And I name it "Dice Brewing" in "English (United States)" locale
And I try to add it
Then I should be notified that code is required
And product with name "Dice Brewing" should not be added
@ -99,7 +99,7 @@ Feature: Products validation
@ui @api
Scenario: Adding a new configurable product with too long code
When I want to create a new configurable product
And I name it "Dice Brewing" in "English (United States)"
And I name it "Dice Brewing" in "English (United States)" locale
And I specify a too long code
And I try to add it
Then I should be notified that code is too long
@ -109,7 +109,7 @@ Feature: Products validation
Given the store has a product "7 Wonders" with code "AWESOME_GAME"
When I want to create a new configurable product
And I specify its code as "AWESOME_GAME"
And I name it "Dice Brewing" in "English (United States)"
And I name it "Dice Brewing" in "English (United States)" locale
And I set its slug to "dice-brewing"
And I try to add it
Then I should be notified that code has to be unique
@ -165,46 +165,50 @@ Feature: Products validation
Given the store has a "7 Wonders" configurable product with "7-wonders" slug
When I want to create a new configurable product
And I specify its code as "7-WONDERS-BABEL"
And I name it "7 Wonders Babel" in "English (United States)"
And I set its slug to "7-wonders" in "English (United States)"
And I name it "7 Wonders Babel" in "English (United States)" locale
And I set its slug to "7-wonders" in "English (United States)" locale
And I try to add it
Then I should be notified that slug has to be unique
And product with code "7-WONDERS-BABEL" should not be added
@todo @ui @mink:chromedriver @api
@ui @mink:chromedriver @api
Scenario: Trying to add a new product with a text attribute without specifying its value in default locale
When I want to create a new configurable product
And I specify its code as "X-18-MUG"
And I name it "PHP Mug" in "English (United States)"
And I set its "Mug material" attribute to "Drewno" in "Polish (Poland)"
But I do not set its "Mug material" attribute in "English (United States)"
And I name it "PHP Mug" in "English (United States)" locale
And I add the "Mug material" attribute
And I set its "Mug material" attribute to "Drewno" in "Polish (Poland)" locale
But I do not set its "Mug material" attribute in "English (United States)" locale
And I add it
Then I should be notified that I have to define the "Mug material" attribute in "English (United States)"
Then I should be notified that I have to define the "Mug material" attribute in "English (United States)" locale
And product with code "X-18-MUG" should not be added
@todo @ui @mink:chromedriver @api
@ui @mink:chromedriver @api
Scenario: Trying to add a new product with a text attribute without specifying its value in additional locale with proper length
When I want to create a new configurable product
And I specify its code as "X-18-MUG"
And I name it "PHP Mug" in "English (United States)"
And I set its "Mug material" attribute to "Dr" in "Polish (Poland)"
And I set its "Mug material" attribute to "Wood" in "English (United States)"
And I name it "PHP Mug" in "English (United States)" locale
And I add the "Mug material" attribute
And I set its "Mug material" attribute to "Dr" in "Polish (Poland)" locale
And I set its "Mug material" attribute to "Wood" in "English (United States)" locale
And I add it
Then I should be notified that the "Mug material" attribute in "Polish (Poland)" should be longer than 3
Then I should be notified that the "Mug material" attribute in "Polish (Poland)" locale should be longer than 3
And product with code "X-18-MUG" should not be added
@todo @ui @javascript @api
@ui @mink:chromedriver @api
Scenario: Trying to add a text attribute in different locales to an existing product without specifying its value in default locale
When I want to modify the "Symfony Mug" product
And I set its "Mug material" attribute to "Drewno" in "Polish (Poland)"
But I do not set its "Mug material" attribute in "English (United States)"
And I add the "Mug material" attribute
And I set its "Mug material" attribute to "Drewno" in "Polish (Poland)" locale
But I do not set its "Mug material" attribute in "English (United States)" locale
And I save my changes
Then I should be notified that I have to define the "Mug material" attribute in "English (United States)"
Then I should be notified that I have to define the "Mug material" attribute in "English (United States)" locale
@todo @ui @javascript @api
@ui @mink:chromedriver @api
Scenario: Trying to add a text attribute in different locales to an existing product without specifying its value in additional locale with proper length
When I want to modify the "Symfony Mug" product
And I set its "Mug material" attribute to "Dr" in "Polish (Poland)"
And I set its "Mug material" attribute to "Wood" in "English (United States)"
And I add the "Mug material" attribute
And I set its "Mug material" attribute to "Dr" in "Polish (Poland)" locale
And I set its "Mug material" attribute to "Wood" in "English (United States)" locale
And I save my changes
Then I should be notified that the "Mug material" attribute in "Polish (Poland)" should be longer than 3
Then I should be notified that the "Mug material" attribute in "Polish (Poland)" locale should be longer than 3

View file

@ -8,27 +8,26 @@ Feature: Select taxon for a new product
Given the store operates on a single channel in "United States"
And the store classifies its products as "T-Shirts", "Accessories", "Funny" and "Sad"
And I am logged in as an administrator
And I am using "English (United Kingdom)" locale for my panel
@todo @ui @javascript @api
@ui @mink:chromedriver @api
Scenario: Specifying main taxon for configurable product
When I want to create a new configurable product
And I choose main taxon "Sad"
And I name it "Gentleman Jack" in "English (United States)"
And I specify its code as "WHISKEY_GENTLEMEN"
And I set its slug to "whiskey/gentleman-jack" in "English (United States)"
And I choose main taxon "Sad"
And I name it "Gentleman Jack" in "English (United States)" locale
And I set its slug to "whiskey/gentleman-jack" in "English (United States)" locale
And I add it
Then I should be notified that it has been successfully created
And main taxon of product "Gentleman Jack" should be "Sad"
@todo @ui @javascript @no-api
@ui @mink:chromedriver @no-api
Scenario: Specifying main taxon for simple product
When I want to create a new simple product
And I choose main taxon "Sad"
And I name it "Mansion of Madness" in "English (United States)"
And I specify its code as "BOARD_MANSION_OF_MADNESS"
And I choose main taxon "Sad"
And I name it "Mansion of Madness" in "English (United States)" locale
And I set its price to "$100.00" for "United States" channel
And I set its slug to "mom-board-game" in "English (United States)"
And I set its slug to "mom-board-game" in "English (United States)" locale
And I add it
Then I should be notified that it has been successfully created
And main taxon of product "Mansion of Madness" should be "Sad"

View file

@ -10,9 +10,8 @@ Feature: Select taxon for an existing product
And the store has a "T-Shirt Banana" configurable product
And the store has a product "T-Shirt Batman"
And I am logged in as an administrator
And I am using "English (United Kingdom)" locale for my panel
@todo @ui @javascript @api
@ui @mink:chromedriver @api
Scenario: Specifying main taxon for configurable product
When I want to modify the "T-Shirt Banana" product
And I choose main taxon "T-Shirts"
@ -20,7 +19,7 @@ Feature: Select taxon for an existing product
Then I should be notified that it has been successfully edited
And main taxon of product "T-Shirt Banana" should be "T-Shirts"
@todo @ui @javascript @no-api
@ui @mink:chromedriver @no-api
Scenario: Specifying main taxon for simple product
When I want to modify the "T-Shirt Batman" product
And I choose main taxon "Sad"

View file

@ -17,7 +17,7 @@ Feature: Selecting main taxon for product in different locales
And the store has a product "T-Shirt Batman"
And I am logged in as an administrator
@todo @ui @javascript @no-api
@ui @mink:chromedriver @no-api
Scenario: Choosing only taxons from the Polish locale
Given I am using "Polish (Poland)" locale for my panel
When I want to choose main taxon for product "T-Shirt Batman"
@ -25,7 +25,7 @@ Feature: Selecting main taxon for product in different locales
And I should be able to choose taxon "Woman-T-Shirts_PL" from the list
And I should not be able to choose taxon "Woman-T-Shirts_UA" from the list
@todo @ui @javascript @no-api
@ui @mink:chromedriver @no-api
Scenario: Choosing only taxons from the French locale
Given I am using "French (France)" locale for my panel
When I want to choose main taxon for product "T-Shirt Batman"
@ -33,7 +33,7 @@ Feature: Selecting main taxon for product in different locales
And I should be able to choose taxon "Woman-T-Shirts_FR" from the list
And I should not be able to choose taxon "Woman-T-Shirts_UA" from the list
@todo @ui @javascript @no-api
@ui @mink:chromedriver @no-api
Scenario: Choosing only taxons from the German locale
Given I am using "German (Germany)" locale for my panel
When I want to choose main taxon for product "T-Shirt Batman"

View file

@ -29,7 +29,7 @@ Feature: Sorting listed products from a taxon by position
And the store has a product "Ultimate Pug" in the "Soft Toys" taxon at 19th position
And I am logged in as an administrator
@todo @ui @no-api
@ui @mink:chromedriver @no-api
Scenario: Setting two products to position -1 on the non-last page
When I am browsing the 1st page of products from "Soft Toys" taxon
And I set the position of "Old pug" to "-1"
@ -39,7 +39,7 @@ Feature: Sorting listed products from a taxon by position
Then the one before last product on the list should have name "Old pug" with position 18
And the last product on the list should have name "Young pug" with position 19
@todo @ui @no-api
@ui @mink:chromedriver @no-api
Scenario: Setting two products to position -1 on the last page
When I am browsing the 2nd page of products from "Soft Toys" taxon
And I set the position of "Pug XL" to "-1"
@ -48,7 +48,7 @@ Feature: Sorting listed products from a taxon by position
Then the one before last product on the list should have name "Pug XL" with position 18
And the last product on the list should have name "Pug XS" with position 19
@todo @ui @no-api
@ui @mink:chromedriver @no-api
Scenario: Setting two products to the already occupied position on the other page
When I am browsing the 1st page of products from "Soft Toys" taxon
And I set the position of "Old pug" to "15"
@ -64,7 +64,7 @@ Feature: Sorting listed products from a taxon by position
And the 7th product on this page should be named "Pug Master"
And this product should be at position 16
@todo @ui @no-api
@ui @mink:chromedriver @no-api
Scenario: Setting two products to the already occupied position on the same page
When I am browsing the 2nd page of products from "Soft Toys" taxon
And I set the position of "Puglet" to "15"
@ -80,7 +80,7 @@ Feature: Sorting listed products from a taxon by position
And the 7th product on this page should be named "Pug Master"
And this product should be at position 16
@todo @ui @no-api
@ui @mink:chromedriver @no-api
Scenario: Setting two products to the positions overflowing the max available position on the non-last page
When I am browsing the 1st page of products from "Soft Toys" taxon
And I set the position of "Old pug" to "25"
@ -90,7 +90,7 @@ Feature: Sorting listed products from a taxon by position
Then the one before last product on the list should have name "Old pug" with position 18
And the last product on the list should have name "Young pug" with position 19
@todo @ui @no-api
@ui @mink:chromedriver @no-api
Scenario: Setting two products to the positions overflowing the max available position on the last page
When I am browsing the 2nd page of products from "Soft Toys" taxon
And I set the position of "Puglet" to "25"
@ -100,14 +100,14 @@ Feature: Sorting listed products from a taxon by position
Then the one before last product on the list should have name "Puglet" with position 18
And the last product on the list should have name "Pug XL" with position 19
@todo @ui @api
@ui @mink:chromedriver @api
Scenario: New product is added as last one
Given I added a product "Big pug"
And I assigned this product to "Soft Toys" taxon
When I am browsing the 3rd page of products from "Soft Toys" taxon
Then the last product on the list within this taxon should have name "Big pug"
@todo @ui @api
@ui @mink:chromedriver @api
Scenario: Product with position 0 is set as the first one
When I am browsing products from "Soft Toys" taxon
And I set the position of "Young pug" to 0
@ -115,20 +115,20 @@ Feature: Sorting listed products from a taxon by position
And I go to the 1st page of products from "Soft Toys" taxon
Then the first product on the list within this taxon should have name "Young pug"
@todo @ui @api
@ui @mink:chromedriver @api
Scenario: Being unable to use a non-numeric string as a product position
Given I am browsing products from "Soft Toys" taxon
When I set the position of "Young pug" to "test"
And I save my new configuration
Then I should be notified that the position "test" is invalid
@todo @ui @api
@ui @mink:chromedriver @api
Scenario: Sort products in descending order
When I am browsing products from "Soft Toys" taxon
And I sort this taxon's products "descending" by "position"
Then the first product on the list within this taxon should have name "Ultimate Pug"
@todo @ui @api
@ui @mink:chromedriver @api
Scenario: Products are sorted by position in ascending order by default
When I am browsing products from "Soft Toys" taxon
Then the first product on the list within this taxon should have name "Old pug"

View file

@ -10,7 +10,7 @@ Feature: Viewing product's non translatable attributes on edit page
And this product has non-translatable percent attribute "crit chance" with value 10%
And I am logged in as an administrator
@todo @ui @api
@ui @api
Scenario: Viewing product's attributes defined in different locales
When I modify the "Iron Pickaxe" product
And I should see non-translatable attribute "crit chance" with value 10%

View file

@ -8,7 +8,7 @@ Feature: Seeing the correct catalog price history after creating a product varia
Given the store operates on a single channel in "United States"
And I am logged in as an administrator
@api @todo @ui
@api @ui
Scenario: Seeing historical product variant prices after the product variant has been created without any promotion applied
Given the store has a "Wyborowa Vodka" configurable product
When I want to create a new variant of this product
@ -20,7 +20,7 @@ Feature: Seeing the correct catalog price history after creating a product varia
Then I should see a single log entry in the catalog price history
And there should be a log entry with the "$20.00" selling price, "$25.00" original price and datetime of the price change
@api @todo @ui
@api @ui
Scenario: Seeing historical product variant prices after the product variant has been created without original price and any promotion applied
Given the store has a "Wyborowa Vodka" configurable product
When I want to create a new variant of this product
@ -31,7 +31,7 @@ Feature: Seeing the correct catalog price history after creating a product varia
Then I should see a single log entry in the catalog price history
And there should be a log entry with the "$20.00" selling price, no original price and datetime of the price change
@api @todo @ui
@api @ui
Scenario: Seeing historical product variant prices after the product variant has been created with catalog promotions applied
Given the store has a "Wyborowa Vodka" configurable product
And there is a catalog promotion "Christmas sale" that reduces price by "50%" and applies on "Wyborowa Vodka" product

Some files were not shown because too many files have changed in this diff Show more