Product-related tests
This page explains how to replay the automated product creation and edition tests manually, step by step, without reading source code.
Catalog-template scenarios are documented separately on Catalog-related tests.
How to use this page
- Follow each scenario exactly in order.
- Use the same sample values shown in the steps.
- If a scenario says "optional", run it only when that feature is enabled in your place.
- Sections keep the same numbering as automation (
§1,§2, ...).
Shared setup (run once before each scenario)
- Open the app and sign in with a user that can manage products.
- Open a place where product catalog management is allowed.
- Go to the Products tab in that place.
- Make sure the app is online and fully loaded (no loading spinner visible).
§1 Open the product wizard
Before you start: Shared setup completed.
User actions
- In the Products tab, click Create product (or the visible empty-state card that lets you create one).
- In the type chooser, choose the option to create a normal product.
- Confirm that the product form opens and shows at least the name and save controls.
- Close the form.
Expected result: The product form opens correctly, and closing it does not create a product.
§2 Create a minimal product (name + price)
Before you start: Shared setup completed.
User actions
- Open product creation.
- Enter name:
E2E-P-<timestamp>. - Enter price:
9.99. - Save the product.
- Return to the products list and find the new product card by name.
Expected result: The product is saved and visible in the list.
§3 Cancel creation without saving
Before you start: Shared setup completed.
User actions
- Open product creation.
- Enter name:
E2E-CANCEL-<timestamp>. - Enter price:
1.00. - Click Cancel (or close the panel and confirm discard).
- Search the list for
E2E-CANCEL-<timestamp>.
Expected result: The product is not created.
§4 Required-field validation
Before you start: Shared setup completed.
User actions
- Open product creation.
- Choose Bar product type.
- Verify that Save is disabled before filling required fields.
- Enter name:
x. - Verify Save is still disabled if price is missing.
- Enter price:
3.00. - Verify Save becomes enabled.
- Close the panel without saving.
Expected result: The form blocks invalid saves and enables save only after required fields are complete.
§5 Product type: Kitchen and Bar
Before you start: Shared setup completed.
User actions
- Create product A as Kitchen:
- Name:
E2E-KIT-<timestamp> - Price:
2.50 - Save
- Name:
- Create product B as Bar:
- Name:
E2E-BAR-<timestamp> - Price:
3.50 - Save
- Name:
- Confirm both products appear in the list.
Expected result: Both product types can be created successfully.
§6 Optional product code
Before you start: Product codes must be enabled in the place configuration.
User actions
- Open product creation.
- If the code field is not visible, stop this scenario (feature not enabled).
- Enter name:
E2E-CODE-<timestamp>. - Enter price:
4.00. - Enter code:
42. - Save and verify the product appears in the list.
Expected result: Product with code is saved when the feature is enabled.
§9 SINGLE category with two options
Before you start: Shared setup completed.
User actions
- Create product
E2E-SINGLE-<timestamp>with base price10.00. - Add a category named
E2E Size. - Set category type to Single choice.
- Add two options:
Smallwith price0Largewith price1.00
- Save product.
- Reopen product and confirm category
E2E Sizeexists.
Expected result: Single-choice category and options are saved correctly.
§10 MULTIPLE category with two options
Before you start: Shared setup completed.
User actions
- Create product
E2E-MULTI-<timestamp>with base price11.00. - Add category
E2E Extras. - Set category type to Multiple choice.
- Add options:
Extra Awith price0.50Extra Bwith price0.75
- Save and reopen the product.
Expected result: Multiple-choice category is saved with both options.
§11 FIXED category with valid limits
Before you start: Shared setup completed.
User actions
- Create product
E2E-FIXED-<timestamp>with base price12.00. - Add category
E2E Pick. - Set category type to Fixed number of selections.
- Set limits:
- Maximum:
1 - Minimum:
0
- Maximum:
- Add three options:
P0,P1,P2(all with price0.10). - Save.
Expected result: Product saves with valid fixed limits.
§12 FIXED category with invalid limits
Before you start: Shared setup completed.
User actions
- Create product
E2E-INV-<timestamp>with base price1.00. - Add category
E2E Badand choose Fixed number of selections. - Set:
- Minimum:
5 - Maximum:
1
- Minimum:
- Check the Save button state.
Expected result: Save remains disabled until limits are corrected.
§13 Conditional category
Before you start: Shared setup completed.
User actions
- Create product
E2E-DEP-<timestamp>with base price13.00. - Create first category
E2E Base(Single choice) with options:B1price0B2price0
- Add second category
E2E Dep(Multiple choice). - Enable dependency for second category and link it to the first category.
- Add option
D1with price0in the second category. - Save.
Expected result: Product saves with dependency between categories.
§14 Disable one option
Before you start: Shared setup completed.
User actions
- Create product
E2E-DIS-<timestamp>with base price14.00. - Add category
E2E Toggleas multiple choice. - Add options:
Keepprice0Dropprice0
- Disable option
Drop. - Save and reopen.
Expected result: Disabled option is no longer active in the saved configuration.
§15 Option description (cancel and save)
Before you start: Shared setup completed.
User actions
- Create product
E2E-DESC-<timestamp>with base price15.00. - Add category
E2E DescCat(single choice) with optionOpt1. - Open option description and type
Hello desc, then cancel. - Open description again, type
Saved text, and save description. - Save product.
Expected result: Cancel does not persist, save does persist.
§16 Shortcut button disabled until options exist
Before you start: Shared setup completed.
User actions
- Create product
E2E-SC16-<timestamp>with base price16.00. - Confirm Add shortcut is disabled.
- Add category
E2E SC16 Cat(single choice) and optionOnlywith price0. - Confirm Add shortcut becomes enabled.
- Close without saving.
Expected result: Shortcut creation is blocked until product options exist.
§17 Minimal shortcut (single-choice category)
Before you start: Shared setup completed.
User actions
- Create product
E2E-SC17-<timestamp>with base price17.00. - Add category
E2E SC17 Sizewith options:Petitprice0Grandprice1
- Add shortcut named
Quick-<timestamp>. - In shortcut setup, select
Petit. - Save shortcut and save product.
- Reopen product and verify shortcut
Quick-<timestamp>exists.
Expected result: Shortcut is saved and visible after reopening.
§18 Shortcut for multiple-choice category
Before you start: Shared setup completed.
User actions
- Create product
E2E-SC18-<timestamp>with base price18.00. - Add category
E2E SC18 Extras(multiple choice) with:X1price0.1X2price0.2X3price0.3
- Add shortcut
Bundle-<timestamp>. - In shortcut setup, select
X1andX3. - Save shortcut and save product.
Expected result: Shortcut stores multiple selected options.
§19 Shortcut for fixed-choice category
Before you start: Shared setup completed.
User actions
- Create product
E2E-SC19-<timestamp>with base price19.00. - Add fixed category
E2E SC19 Pickwith min0, max1. - Add options
F0,F1,F2(all0). - Add shortcut
Fixed-<timestamp>. - Select
F0, save shortcut, save product.
Expected result: Shortcut is valid when selection respects fixed limits.
§20 Shortcut with conditional category
Before you start: Shared setup completed.
User actions
- Create product
E2E-SC20-<timestamp>with base price20.00. - Add base category
E2E SC20 Base(single choice) withSB1,SB2. - Add dependent category
E2E SC20 Dep(multiple choice), linked to base category. - Add option
SD1in dependent category. - Create shortcut
Dep-<timestamp>. - Select
SB1, then selectSD1. - Save shortcut and save product.
Expected result: Dependent option can be selected and saved in shortcut.
§21 Two shortcuts in one product
Before you start: Shared setup completed.
User actions
- Create product
E2E-SC21-<timestamp>with base price21.00. - Add category
E2E SC21 Szwith optionsSmallandLarge. - Add shortcut
A-<timestamp>selectingSmall. - Add shortcut
B-<timestamp>selectingLarge. - Save product.
Expected result: Both shortcuts are listed in the same product.
§22 Edit shortcut and cancel
Before you start: Product with one saved shortcut.
User actions
- Create product
E2E-SC22-<timestamp>with shortcutStable-<timestamp>. - Reopen product and open shortcut
Stable-<timestamp>. - Change shortcut name to
ShouldNotSave. - Click Cancel in shortcut editor.
- Verify
Stable-<timestamp>is still present andShouldNotSaveis not.
Expected result: Cancel discards changes.
§23 Delete shortcut
Before you start: Product with one saved shortcut.
User actions
- Create product
E2E-SC23-<timestamp>with shortcutTrash-<timestamp>. - Reopen product and open shortcut
Trash-<timestamp>. - Click Delete shortcut and confirm.
- Save product.
- Reopen and verify shortcut is gone.
Expected result: Shortcut is removed and does not reappear.
§24 Shortcut list and drag handle visibility
Before you start: Product with at least two shortcuts.
User actions
- Create product
E2E-SC24-<timestamp>. - Add two shortcuts:
First-<timestamp>Second-<timestamp>
- Verify both rows are visible in the shortcut section.
- Verify a drag handle icon is visible in the list.
- Save and reopen product.
- Verify both shortcuts are still present.
Expected result: Shortcut list is stable and ready for manual reordering.
Tracking
Automated in e2e/tests/product-wizard.spec.ts (§1–§6), e2e/tests/product-categories.spec.ts (§9–§15), and e2e/tests/product-shortcuts.spec.ts (§16–§24). Shared catalog navigation uses e2e/helpers/product-test-setup.ts (auth storage + hooks).
If test flow changes, update this page in the same change.