woocommerce/plugins/woocommerce-blocks/tests/e2e
Manish Menaria e28b0aa9ea
Product Collection: Support registering product collection that isn't displayed in Collection Chooser (#52057)
* Filter product collection variations by 'block' scope

This commit updates the product collection feature to only show variations
with the 'block' scope in the collection chooser. To achieve this:

1. Added 'block' to the scope array for various product collection variations
   (best-sellers, featured, hand-picked, new arrivals, on-sale, related,
   top-rated, and upsells).
2. Modified the collection chooser logic to filter variations based on the
   'block' scope.

* Product Collection: Hide collection chooser toolbar for non-block scoped collections

This commit modifies the ToolbarControls component in the Product Collection block to conditionally render the CollectionChooserToolbar. The toolbar is now only displayed for collections with a scope that includes 'block'.

* Add scope property to product collections in E2E tests

This commit adds the 'scope' property to all registered product collections
in the E2E test plugin. The 'scope' is set to ['block'] for each collection.

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Rename isShowCollectionChooserToolbar to showCollectionChooserToolbar
for better readability.

* Add documentation and refactor for product collection scope

This commit introduces the following changes:

1. Update documentation to explain the `scope` argument for product collections
2. Refactor Collection Chooser and toolbar controls to handle default scope
3. Remove explicit `scope` from test collections to align with default behavior

* Add E2E tests for Product Collection scope argument

This commit adds E2E tests to verify the behavior of Product Collections
registered with different scopes. It includes:
- Tests for collections with 'inserter' and 'block' scopes
- Verification of visibility in Collection Chooser
- Checks for 'Choose collection' button visibility

* Generate manifest file

* Generate manifest file

* docs: Remove unsupported emojis from product collection documentation

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-10-22 14:02:32 +05:30
..
bin Blocks E2E: Fix DB snapshot removal step in setup script (#49677) 2024-07-19 12:02:56 +02:00
content-templates [Experimental] Product Filters: New and improved blocks structure (#51096) 2024-09-14 00:04:06 +07:00
plugins Product Collection: Support registering product collection that isn't displayed in Collection Chooser (#52057) 2024-10-22 14:02:32 +05:30
rules Blocks E2E: Streamline E2E utils implementation (#47660) 2024-05-27 14:54:06 +00:00
test-data/data Refactor review blocks e2e tests to remove redundant html templates and add more scenarios (#44880) 2024-02-29 15:43:59 +13:00
tests Product Collection: Support registering product collection that isn't displayed in Collection Chooser (#52057) 2024-10-22 14:02:32 +05:30
themes Delayed Account Creation Test Coverage (#51852) 2024-10-07 11:12:37 +01:00
utils Blocks E2E: Fix db connection issues (#51658) 2024-09-30 09:54:46 +02:00
.eslintrc.js Blocks E2E: Restore the no-hooks rule (#47500) 2024-05-15 13:05:52 +02:00
README.md Settings Save button disable/enable (#47444) 2024-06-25 13:12:14 +12:00
flaky-tests-reporter.ts Fix most of lint warnings (#50869) 2024-08-23 14:30:14 +02:00
global-setup.ts Blocks E2E: Streamline the usage of WP CLI (#47869) 2024-05-28 17:09:28 +02:00
playwright.config.ts [e2e tests] Add BuildKite reporter to Blocks e2e tests (#50642) 2024-08-15 13:48:44 +01:00
playwright.performance.config.ts Blocks: Isolate performance tests from e2e tests (#46773) 2024-04-23 13:11:46 +02:00
tsconfig.json Blocks E2E: Align ESLint and TS configs with Gutenberg (#47228) 2024-05-14 10:23:17 +02:00

README.md

WooCommerce Blocks End-to-End Tests

This document provides an overview of the WooCommerce Blocks end-to-end testing process. For detailed instructions and comprehensive guidelines, please refer to the contributor guidelines document.

Quick Start

Preparing the Environment

  1. Build the WooCommerce Plugin:

    pnpm --filter='@woocommerce/plugin-woocommerce' watch:build
    
  2. Go to the WooCommerce Blocks plugin folder:

    cd plugins/woocommerce-blocks/
    
  3. Start the environment:

    pnpm env:start
    

Running the Tests

  1. Run all tests:

    pnpm test:e2e
    
  2. Run a single test file:

    pnpm test:e2e path/to/the/file.spec.ts
    
  3. Run in UI mode:

    pnpm test:e2e --ui
    
  4. Run in debug mode:

pnpm test:e2e --debug