Skip to main content

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)

  1. Open the app and sign in with a user that can manage products.
  2. Open a place where product catalog management is allowed.
  3. Go to the Products tab in that place.
  4. 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

  1. In the Products tab, click Create product (or the visible empty-state card that lets you create one).
  2. In the type chooser, choose the option to create a normal product.
  3. Confirm that the product form opens and shows at least the name and save controls.
  4. 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

  1. Open product creation.
  2. Enter name: E2E-P-<timestamp>.
  3. Enter price: 9.99.
  4. Save the product.
  5. 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

  1. Open product creation.
  2. Enter name: E2E-CANCEL-<timestamp>.
  3. Enter price: 1.00.
  4. Click Cancel (or close the panel and confirm discard).
  5. 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

  1. Open product creation.
  2. Choose Bar product type.
  3. Verify that Save is disabled before filling required fields.
  4. Enter name: x.
  5. Verify Save is still disabled if price is missing.
  6. Enter price: 3.00.
  7. Verify Save becomes enabled.
  8. 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

  1. Create product A as Kitchen:
    • Name: E2E-KIT-<timestamp>
    • Price: 2.50
    • Save
  2. Create product B as Bar:
    • Name: E2E-BAR-<timestamp>
    • Price: 3.50
    • Save
  3. 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

  1. Open product creation.
  2. If the code field is not visible, stop this scenario (feature not enabled).
  3. Enter name: E2E-CODE-<timestamp>.
  4. Enter price: 4.00.
  5. Enter code: 42.
  6. 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

  1. Create product E2E-SINGLE-<timestamp> with base price 10.00.
  2. Add a category named E2E Size.
  3. Set category type to Single choice.
  4. Add two options:
    • Small with price 0
    • Large with price 1.00
  5. Save product.
  6. Reopen product and confirm category E2E Size exists.

Expected result: Single-choice category and options are saved correctly.


§10 MULTIPLE category with two options

Before you start: Shared setup completed.

User actions

  1. Create product E2E-MULTI-<timestamp> with base price 11.00.
  2. Add category E2E Extras.
  3. Set category type to Multiple choice.
  4. Add options:
    • Extra A with price 0.50
    • Extra B with price 0.75
  5. 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

  1. Create product E2E-FIXED-<timestamp> with base price 12.00.
  2. Add category E2E Pick.
  3. Set category type to Fixed number of selections.
  4. Set limits:
    • Maximum: 1
    • Minimum: 0
  5. Add three options: P0, P1, P2 (all with price 0.10).
  6. Save.

Expected result: Product saves with valid fixed limits.


§12 FIXED category with invalid limits

Before you start: Shared setup completed.

User actions

  1. Create product E2E-INV-<timestamp> with base price 1.00.
  2. Add category E2E Bad and choose Fixed number of selections.
  3. Set:
    • Minimum: 5
    • Maximum: 1
  4. 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

  1. Create product E2E-DEP-<timestamp> with base price 13.00.
  2. Create first category E2E Base (Single choice) with options:
    • B1 price 0
    • B2 price 0
  3. Add second category E2E Dep (Multiple choice).
  4. Enable dependency for second category and link it to the first category.
  5. Add option D1 with price 0 in the second category.
  6. Save.

Expected result: Product saves with dependency between categories.


§14 Disable one option

Before you start: Shared setup completed.

User actions

  1. Create product E2E-DIS-<timestamp> with base price 14.00.
  2. Add category E2E Toggle as multiple choice.
  3. Add options:
    • Keep price 0
    • Drop price 0
  4. Disable option Drop.
  5. 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

  1. Create product E2E-DESC-<timestamp> with base price 15.00.
  2. Add category E2E DescCat (single choice) with option Opt1.
  3. Open option description and type Hello desc, then cancel.
  4. Open description again, type Saved text, and save description.
  5. 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

  1. Create product E2E-SC16-<timestamp> with base price 16.00.
  2. Confirm Add shortcut is disabled.
  3. Add category E2E SC16 Cat (single choice) and option Only with price 0.
  4. Confirm Add shortcut becomes enabled.
  5. 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

  1. Create product E2E-SC17-<timestamp> with base price 17.00.
  2. Add category E2E SC17 Size with options:
    • Petit price 0
    • Grand price 1
  3. Add shortcut named Quick-<timestamp>.
  4. In shortcut setup, select Petit.
  5. Save shortcut and save product.
  6. 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

  1. Create product E2E-SC18-<timestamp> with base price 18.00.
  2. Add category E2E SC18 Extras (multiple choice) with:
    • X1 price 0.1
    • X2 price 0.2
    • X3 price 0.3
  3. Add shortcut Bundle-<timestamp>.
  4. In shortcut setup, select X1 and X3.
  5. 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

  1. Create product E2E-SC19-<timestamp> with base price 19.00.
  2. Add fixed category E2E SC19 Pick with min 0, max 1.
  3. Add options F0, F1, F2 (all 0).
  4. Add shortcut Fixed-<timestamp>.
  5. 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

  1. Create product E2E-SC20-<timestamp> with base price 20.00.
  2. Add base category E2E SC20 Base (single choice) with SB1, SB2.
  3. Add dependent category E2E SC20 Dep (multiple choice), linked to base category.
  4. Add option SD1 in dependent category.
  5. Create shortcut Dep-<timestamp>.
  6. Select SB1, then select SD1.
  7. 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

  1. Create product E2E-SC21-<timestamp> with base price 21.00.
  2. Add category E2E SC21 Sz with options Small and Large.
  3. Add shortcut A-<timestamp> selecting Small.
  4. Add shortcut B-<timestamp> selecting Large.
  5. 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

  1. Create product E2E-SC22-<timestamp> with shortcut Stable-<timestamp>.
  2. Reopen product and open shortcut Stable-<timestamp>.
  3. Change shortcut name to ShouldNotSave.
  4. Click Cancel in shortcut editor.
  5. Verify Stable-<timestamp> is still present and ShouldNotSave is not.

Expected result: Cancel discards changes.


§23 Delete shortcut

Before you start: Product with one saved shortcut.

User actions

  1. Create product E2E-SC23-<timestamp> with shortcut Trash-<timestamp>.
  2. Reopen product and open shortcut Trash-<timestamp>.
  3. Click Delete shortcut and confirm.
  4. Save product.
  5. 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

  1. Create product E2E-SC24-<timestamp>.
  2. Add two shortcuts:
    • First-<timestamp>
    • Second-<timestamp>
  3. Verify both rows are visible in the shortcut section.
  4. Verify a drag handle icon is visible in the list.
  5. Save and reopen product.
  6. 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.