woocommerce/plugins/woocommerce-blocks/tests/e2e
Mike Jolley 13d3e11d40
Checkout: Add password field to create account form (#48985)
* Add site title to account checkbox

* Add customer_password support to Store API

* Hide password nag if defining own password

* Add woocommerce_registration_generate_password option to block assets

* Change login prompt to just "log in"

* Add default styling to password inputs

* Reset line height for checkbox inputs

* Add customer password to store

* Add password field to contact information block

* Handle customer password in checkout processor

* Styling for new elements

* Update tests so they match new create account label

* Update log in link in tests

* Add e2e tests for password field

* Add validation message and fix rendering when account is required

* Changelog

* Add missing api to tests

* Remove console log

* rerender checkout

* Update log in link in test

* Adjust validation so we can change the label in messages with custom callback

* Use queryByText in test

* Make sure password generation is on in tests

* Create password if provided password is empty

* Skip "Place order" button translation test

* Revert "Skip "Place order" button translation test"

This reverts commit 7aed6137e88cdb3577f74f6f0c05258b531ed534.

* Update plugins/woocommerce-blocks/assets/js/blocks/checkout/inner-blocks/checkout-contact-information-block/block.tsx

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>

* Update plugins/woocommerce-blocks/assets/js/data/checkout/reducers.ts

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>

* Comment empty condition

* Update CSS classnames

* Return null in CreateAccountUI if nothing to display

* Linting: Return return param

* Document $password param

---------

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
2024-07-15 11:43:02 +01:00
..
bin Blocks E2E: Streamline the usage of WP CLI (#47869) 2024-05-28 17:09:28 +02:00
content-templates Blocks E2E: Streamline E2E utils implementation (#47660) 2024-05-27 14:54:06 +00:00
plugins Expose `__experimentalRegisterProductCollection` in @woocommerce/blocks-registry Package (#48141) 2024-07-05 16:55:35 +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 Checkout: Add password field to create account form (#48985) 2024-07-15 11:43:02 +01:00
themes Initialize BlockTemplatesController for block themes only (#48905) 2024-07-03 11:31:41 +02:00
utils Update WC blocks wp-env to use WP 6.6 RC1 (#49037) 2024-07-03 16:09:43 +01: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 [blocks e2e] Move Blocks e2e into ci.yml (#48224) 2024-06-11 19:57:23 +03:00
global-setup.ts Blocks E2E: Streamline the usage of WP CLI (#47869) 2024-05-28 17:09:28 +02:00
playwright.config.ts [blocks e2e] Update config for retries and trace retention (#49416) 2024-07-11 11:14:14 -07: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