Customizing Fixture Suites¶
What are fixture suites?¶
Suites are predefined groups of fixtures that can be run together. For example, they can be full shop configurations for manual tests purposes.
Why would you customize fixture suites?¶
tailoring the default Sylius fixture suite to your needs (removing Orders for example)
creating your own fixture suite
How to use suites?¶
Complete list of suites can be shown with the bin/console sylius:fixtures:list
command.
The default
suite is loaded if bin/console sylius:fixtures:load
command
is executed without any additional argument. If you are creating a new suite you must use this command providing the
name of your suite as an argument: bin/console sylius:fixtures:load your_custom_suite
.
How to create custom fixture suites?¶
Tip
You can browse the full implementation of this example on this GitHub Pull Request.
Tip
If you want to create your fixtures with different locale than en_US
you must change the locale
parameter in config/services.yaml
.
parameters:
locale: pl_PL
1. Create the config/packages/sylius_fixtures.yaml
file and add the following code there:
sylius_fixtures:
suites:
poland: # custom suite's name
fixtures:
currency:
options:
currencies: ['PLN'] # add desired currencies as an array
geographical: # Countries, provinces and zones available in your store
options:
countries:
- "PL"
zones:
PL:
name: "Poland"
countries:
- "PL"
channel:
options:
custom:
pl_web_store:
name: "PL Web Store"
code: "PL_WEB"
locales: # choose the locale for this channel
- "%locale%"
currencies: # choose currencies for this channel
- "PLN"
enabled: true
hostname: "localhost"
shipping_method: # create shipping methods and choose channels in which it is available
options:
custom:
inpost:
code: "inpost"
name: "InPost"
channels:
- "PL_WEB"
zone: "PL"
2. Load your custom suite with bin/console sylius:fixtures:load poland
command.
Tip
By default, a new fixture suite will not purge your database. If you want to run it always on a clear database,
add the orm_purger
listener under your custom suite name:
sylius_fixtures:
suites:
poland:
listeners:
orm_purger: ~