Commit Graph

1092 Commits

Author SHA1 Message Date
Thomas Roberts 5036c69638 Add E2E tests for Filter blocks (Price, Attribute, and Active Filters) (https://github.com/woocommerce/woocommerce-blocks/pull/4562)
* Add clear and fill input test util

* Add tests for Filter Products by Price

* Add class name to filter products by price block in editor

* Update wp-env

* Fix formatting

* Update lock

* Revert "Update lock"

This reverts commit f4e809e000430eea3972c94fd2aea0a19ba6961b.

* Create product attributes during setup

* Remove product attributes during teardown

* Add attributes in fixture-data

* Add two new products, for attribute testing

* Load attributes into store and apply them to products

* Add class to Filter by Attribute when editing

This is so it can be targeted in E2E tests more easily.

* Add tests for Filter Product by Attribute

* Fix formatting in attribute-filter.test.js

* Add tests for active filters block

* Add doc block for ensuteCleanAttributes

* Update wording of title test in all filter block E2E

* Update test wording to read better

* Update snapshots

* Use pptr-testing-library selectors to click elements

This makes the tests easier to reason with, and lets us take a step back from the implementation details (classnames etc.)

* Add saveOrPublish test util

* Use pptr-testing-library selectors to click elements in attribute filter

* Use pptr-testing-library selectors to click elements in price filter

* Add `puppeteer-testing-library`

* Use puppeteer-testing-library API to look for H6 button

* Use correct argument in jest-puppeteer.dev.config

* Update package.json & package-lock.json

* remove tests for 5.3

* remove snapshots

* Remove ensureCleanAttributes

* Remove puppeteer-testing-library, install missing expect-puppeteer package and update tests

The puppeteer-testing-library, although added by gutenberg is not actively used.
I have removed it and realised that the added functionality can be easily replaced by expect-puppeteer.
This is a package that we specify in the jest configuration but it was not part of our package.json.
The selectors from puppeteer-testing-library have been replaced with .toClick and the utility clearAndFillInput with .toFill

The Filter by Attribute block has been skiped until tests are fixed.

* Add back setupPageSettings to jest setup

* Fix filter by attribute block test

* Fix linting error

Co-authored-by: Raluca Stan <ralucastn@gmail.com>
2021-12-23 17:26:10 +01:00
renovate[bot] 047abeab84 Update dependency eslint-plugin-import to v2.25.3 (https://github.com/woocommerce/woocommerce-blocks/pull/5438)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 04:15:47 +00:00
renovate[bot] ba3c7e6132 Update babel monorepo to v7.16.5 (https://github.com/woocommerce/woocommerce-blocks/pull/5437)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 04:13:35 +00:00
renovate[bot] 4f4ef36510 Pin dependency snakecase-keys to 5.1.2 (https://github.com/woocommerce/woocommerce-blocks/pull/5435)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 02:48:41 +00:00
Lucio Giannotta 35adae3fa4 Add Storybook documentation and remove deprecated knobs (https://github.com/woocommerce/woocommerce-blocks/pull/5407)
* Remove Storybook knobs

They are now fully replaced by controls

* Update Storybook to 6.4.9
* Add Storybook documentation and VSCode snippets
* Add VSCode snippets
* Convert stories from checkout packages and include them in Storybook
2021-12-21 18:08:57 +01:00
Mike Jolley c1ca93aa0a 6.7.0-dev 2021-12-21 13:59:01 +00:00
github-actions[bot] 5d807a52e1 Release: 6.6.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5422)
* Empty commit for release pull request

* Add changelog and version info

* 6.6.0 testing notes

* Remove mini cart from testing instructions

* Clarify testing instructions

* Remove experimental feature from changelog

* fix not found template for the template editor

* update zip

* Remove test instructions for icon

* Testing steps for 5425

* Link order controller to cart routes

* Remove order controller from checkout route

* Fix PHP warnings in abstract schema

* Fix PHP warnings in abstract route

* Update shipping phone handling

* Includes are handled in core now

* Remove maybe_update_order_from_customer

* Add cart_updated routine to all cart routes

* Remove abstract method

* Remove test for woocommerce_blocks_cart_update_order_from_customer_request

* Remove do_order_callback

* Update readme

* Update tests

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Luigi <gigitux@gmail.com>
2021-12-21 13:57:01 +00:00
Alex Florisca d05a43dadb Update to node 16/npm 8 (https://github.com/woocommerce/woocommerce-blocks/pull/5222)
* Update to node 16/npmm 8

* package-lock.json from trunk

* package-lock.json v2

* Revert "package-lock.json v2"

This reverts commit 9d11533da840471aed815d131f54a87d237658c7.

* Package-lock.json v2, take 2

* eslint-plugin requires npm 8
2021-12-16 11:19:30 +00:00
M. L. Giannotta 703051b1bc Storybook and TS migration of some cart checkout components (https://github.com/woocommerce/woocommerce-blocks/pull/5324)
* Migrate stories for `ProductName` to latest Storybook. Also add props
documentation and add named export.
* Migrate `TotalsFooterItem` to TypeScript and latest Storybook
* Add a `LooselyMustHave` utility type.
* Export `allSettings` so that they can be manipulated in stories and tests

* Implement a way to easily define and reuse Storybook controls

Implement a currency control for a common use-case of selecting currencies.
It currently implements EUR and USD as they have different properties.

* Migrate `TotalsDiscount` to TypeScript and implement stories
* Migrate `TotalsCoupon` to TypeScript and fix stories
* Change Coupon name within Storybook
* Nicer handling of removal of a coupon from Storybook

It now dynamically calculates the discount from the actual coupons.
2021-12-15 17:30:17 +01:00
renovate[bot] 0b6686910f Update dependency eslint-import-resolver-typescript to v2.5.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5383)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-15 05:04:26 +00:00
renovate[bot] 6d487fd242 Update wordpress monorepo (https://github.com/woocommerce/woocommerce-blocks/pull/5382)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-15 03:18:45 +00:00
Albert Juhé Lluveras 6e2b5ebb8a Downgrade @wordpress/scripts to 17.1.0 to fix dependency mistmach issue (https://github.com/woocommerce/woocommerce-blocks/pull/5349)
* Downgrade @wordpress/scripts to 17.1.0 to fix dependency mistmach issue

* Update package-lock.json
2021-12-10 17:44:03 +01:00
renovate[bot] 7822affe2e Update dependency @types/wordpress__compose to v4.0.1 (https://github.com/woocommerce/woocommerce-blocks/pull/5334)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-08 05:51:31 +00:00
renovate[bot] 5e3528a05c Pin dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/5333)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-08 03:25:48 +00:00
Mike Jolley cfeb5558b7 Update WordPress Monorepo packages with React 17x support (https://github.com/woocommerce/woocommerce-blocks/pull/5223)
* Use npm 14

* Update WP packages

* Update non-dev wordpress dependencies

* Remove usage of @automattic/data-stores

* Moves tag, search-list-control components back into private `editor-components` to mitigate dependency conflicts with`@woocommerce/components`

* Fix tests with act()

* package-lock

* fix broken maps

* Patch 14x package

* update locks

* Revert nvmrc change

* Fix tests due to debounce

Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
2021-12-07 15:47:50 +00:00
Tom Cafferkey 44aaf67caa Updated version numbers for the next release 2021-12-07 11:51:42 +00:00
github-actions[bot] 212085bbd8 Release: 6.5.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5321)
* Empty commit for release pull request

* Update readme.txt and add 6.5.0 testing notes

* Update build link

* Update CSV link

* Testing instruction titles.

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Tom Cafferkey <tjcafferkey@gmail.com>
2021-12-07 11:47:28 +00:00
M. L. Giannotta 4651f64341 Storybook and TS migration of ReadMore component (https://github.com/woocommerce/woocommerce-blocks/pull/5300)
* Update packages to latest Storybook deps

* Migrate `ReadMore` component and its utils to TypeScript

* Add type definitions for `trim-html` package

* Migrate `ReadMore` stories to newest Storybook

Fixes woocommerce/woocommerce-blocks#5254
2021-12-06 18:00:33 +01:00
Luigi Teschio c2ebf26c1c Enable stylelint for the entire project woocommerce/woocommerce-blocks#5262 (https://github.com/woocommerce/woocommerce-blocks/pull/5298)
Enable stylelint for the entire project
2021-12-03 10:07:51 +01:00
M. L. Giannotta bee06b6005 Storybook and TS migration of `ErrorPlaceholder` component (https://github.com/woocommerce/woocommerce-blocks/pull/5294)
* Convert `ErrorPlaceholder` and `ErrorMessage` to TypeScript

* Add stories for `ErrorPlaceholder` and `ErrorMessage` (https://github.com/woocommerce/woocommerce-blocks/pull/5255)

Stories include:

* Default generic error
* API error
* Unknown error
* Error without possibility to retry
* Base Error atom

Where applicable, the **Retry** button will not only trigger the appropriate
action, but also simulate the loading state of the error component.

* Update references to `ErrorMessage` component to leave the file extension out

Fix woocommerce/woocommerce-blocks#5255
Refs woocommerce/woocommerce-blocks#5249
2021-12-02 17:56:03 +01:00
M. L. Giannotta 7e9f8c822d Migrate Storybook to 6.4.0 and enable auto-detection of controls (https://github.com/woocommerce/woocommerce-blocks/pull/5249) (https://github.com/woocommerce/woocommerce-blocks/pull/5264)
* Migrate Storybook to 6.4.0 and enable auto-detection of controls (https://github.com/woocommerce/woocommerce-blocks/pull/5249)

Previously our Babel configuration conflicted with the one provided by
default by Storybook, making us unable to leverage the automatic
detection of properties from both JS and TS components to create
controls (formerly known as knobs).

Upgrading to 6.4.0 fixes a bug that makes it easier to work with
Babel configurations. Also done here:

* Removed a few deprecated addons in favor of the replacement ones
bundled within Storybook Essentials.
* Add auto-detection of certain control types depending on the property names
* Add support for TS stories

More context: https://github.com/storybookjs/storybook/issues/12292

* Use `react-docgen` only in development environments

This should reduce production bundle size dramatically. The only
problem here is that Storybook runs its `build` command with the
`NODE_ENV` set to `production`. For this reason, we change the
script to provide `BABEL_ENV` set to `development` to still make sure
the correct configuration is loaded, while trying to reduce any
side-effects on changing the whole `NODE_ENV`.
2021-12-01 12:28:27 +01:00
renovate[bot] 302807474a Update dependency @storybook/addon-knobs to v6.4.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5283)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-01 03:09:42 +00:00
renovate[bot] 3f7c17553b Update dependency jest-environment-puppeteer to v6.0.2 (https://github.com/woocommerce/woocommerce-blocks/pull/5282)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-01 03:07:03 +00:00
Mike Jolley c067e990b4 Introduce `<Noninteractive>` component to disable form elements non-visually (https://github.com/woocommerce/woocommerce-blocks/pull/5157)
* Noninteractive component based on Disabled

* Implement in cart/checkout

* Pass down props

* Update 'use-debounce' library

* aria disabled
2021-11-26 14:47:37 +00:00
renovate[bot] 5542abba97 Update dependency @stripe/react-stripe-js to v1.6.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5228)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-24 04:52:40 +00:00
renovate[bot] bb5d23a4e9 Update dependency @octokit/graphql to v4.8.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5227)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-24 04:49:55 +00:00
renovate[bot] 667da6ee02 Update dependency reakit to v1.3.11 (https://github.com/woocommerce/woocommerce-blocks/pull/5226)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-24 02:14:41 +00:00
renovate[bot] 8ea8d9cedf Update dependency @types/jquery to v3.5.9 (https://github.com/woocommerce/woocommerce-blocks/pull/5225)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-24 02:01:04 +00:00
Mike Jolley ed0a9a2d91 Implement `@wordpress/babel-preset-default` (drops IE11 support) (https://github.com/woocommerce/woocommerce-blocks/pull/5212)
* Implement @wordpress/babel-preset-default

* remove alraedy included libs

* remove other deps

Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
2021-11-23 14:49:35 +00:00
Albert Juhé Lluveras ddc8fcccd1 Bump version to 6.5.0-dev 2021-11-23 09:03:08 +01:00
github-actions[bot] e7bb6fef28 Release: 6.4.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5211)
* Empty commit for release pull request

* Add 6.4.0 changelog

* Update supported WC versions

* Add 6.4.0 testing steps

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2021-11-23 09:00:23 +01:00
Niels Lange 62e88757ed Lazy load missing translation files (https://github.com/woocommerce/woocommerce-blocks/pull/5112)
* Lazo load missing translation files

* Lazy load cart translation files
2021-11-22 16:43:13 +07:00
Niels Lange af8f5e857c Bump version numbers to 6.4.0-dev 2021-11-17 21:55:48 +07:00
github-actions[bot] e891cab38b Release: 6.3.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5146)
* Empty commit for release pull request

* Update readme.txt with release changelog

* Add testing instructions for 6.3.0 release

* Update testing instructions as MD tables didn't work

* Update testing instructions

* Update testing instructions

* Update testing instructions

* Update readme.txt

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>

* Update docs/testing/releases/630.md

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>

* Update readme.txt

* Update release zip in testing note

* Update testing instructions

* Remove feature gate condition for Legacy Template block (https://github.com/woocommerce/woocommerce-blocks/pull/5158)

* Update testing instructions

* Update testing instructions

* Update testing instructions

* Update readme.txt

* Update testing instructions

* Update testing instructions

* Update release zip in testing note

* Update testing instructions for SE templates

* Update testing instructions for SE templates II

* Update testing instructions

* Bumping version strings to new version.

* Release: 6.3.1 (https://github.com/woocommerce/woocommerce-blocks/pull/5169)

* Empty commit for release pull request

* Fix state validation to compare state codes, and only validate if a country is given (https://github.com/woocommerce/woocommerce-blocks/pull/5132)

* Only get valid states from wc if there is a country

* Shared validation logic which uses keys

* Fix 'Country is required' error on the Cart block when updating shipping address (https://github.com/woocommerce/woocommerce-blocks/pull/5129)

* Fix  error on the Cart block

* Created a cartIsHydrated variable in useStoreCart hook and used this to update the billing address in the internal state of the useCustomerData hook

* Fix the country is required error on the Cart page using refs

* Separate api calls to update shipping and billingUpdate billing and shipping addresses only when needed in API calls

* Remove redundant check for customerDataToUpdate

* remove use of refs in initial values

Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>

* Make order note block removable (https://github.com/woocommerce/woocommerce-blocks/pull/5139)

* unforce order note

* show block in inserter

* Mini Cart block fatal error caused by append_script_and_deps_src (https://github.com/woocommerce/woocommerce-blocks/pull/5142)

* Remove unused use statements

* Fix types for $script

* `get_script_from_handle` might return null so handle this case to prevent errors

* Missing escaping

* Replace do_action_deprecated with the WC equivalent (https://github.com/woocommerce/woocommerce-blocks/pull/5151)

* Remove feature gate condition for Legacy Template block (https://github.com/woocommerce/woocommerce-blocks/pull/5158)

* Update readme.txt

* Update testing instructions

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Alex Florisca <alexflorisca@gmail.com>
Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
Co-authored-by: Niels Lange <info@nielslange.de>

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
Co-authored-by: Michael P. Pfeiffer <michael@cssconf.eu>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Alex Florisca <alexflorisca@gmail.com>
Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
2021-11-17 21:39:02 +07:00
renovate[bot] 79bd37069b Update dependency @types/react to v16.14.21 (https://github.com/woocommerce/woocommerce-blocks/pull/5162)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-17 04:41:35 +00:00
renovate[bot] 2baf7bd8fc Update dependency @types/lodash to v4.14.177 (https://github.com/woocommerce/woocommerce-blocks/pull/5161)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-17 03:08:12 +00:00
renovate[bot] a121199d3f Update dependency @babel/preset-env to v7.16.4 (https://github.com/woocommerce/woocommerce-blocks/pull/5160)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-17 02:56:46 +00:00
renovate[bot] 52d8f6661c Update dependency @types/gtag.js to v0.0.8 (https://github.com/woocommerce/woocommerce-blocks/pull/5117)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-11 16:47:41 +00:00
Albert Juhé Lluveras 6aeac39f17 Downgrade @wordpress/scripts to 17.1.0 to fix dependency mistmach issue (https://github.com/woocommerce/woocommerce-blocks/pull/5124)
* Downgrade @wordpress/scripts to a previous version to fix dependency mismatch

* Fix typo
2021-11-11 12:06:04 +01:00
renovate[bot] 645d534bda Update babel monorepo to v7.16.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5118)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-10 03:44:41 +00:00
renovate[bot] 527f286d14 Update dependency eslint-import-resolver-webpack to v0.13.2 (https://github.com/woocommerce/woocommerce-blocks/pull/5055)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-09 14:27:57 +00:00
Mike Jolley 70f0c06bf9 Fix e2e tests welcome guide/m1 mac support (https://github.com/woocommerce/woocommerce-blocks/pull/5096)
* Bump dependencies to fix e2e on m1 macs

* Disable welcome guide more reliably - see 3da717b8d0/packages/e2e-test-utils/src/create-new-post.js

* Update selectors and fixture data for cart block

* unused dep

* Remove duplicate block wrapper

* Remove unused jest configuration files

* More robust click in view switcher test

* Revert fixture data change
2021-11-09 13:18:55 +00:00
renovate[bot] 2466f03f28 Update storybook monorepo to v6.3.12 (https://github.com/woocommerce/woocommerce-blocks/pull/5056)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-03 03:31:15 +00:00
renovate[bot] cda282ff6c Update dependency dinero.js to v1.9.1 (https://github.com/woocommerce/woocommerce-blocks/pull/5007)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-29 18:42:18 +00:00
Michael P. Pfeiffer b5bb42e799 Update version following release 2021-10-28 09:10:37 +02:00
github-actions[bot] 5454667fa6 Release: 6.2.0 (https://github.com/woocommerce/woocommerce-blocks/pull/4990)
* Empty commit for release pull request

* Update readme.txt with release changelog

* Add testing instructions for 6.2.0 release

* Return an element instead of a component in useViewSwitcher (https://github.com/woocommerce/woocommerce-blocks/pull/5016)

* return element instead of component in viewSwitcher

* use ToolbarGroup instead of Toolbar

(cherry picked from commit ad133ba901)

* Update release zip in testing note

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Michael P. Pfeiffer <michael@cssconf.eu>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2021-10-28 09:04:30 +02:00
renovate[bot] 3bc74b1fb2 Update dependency @types/react to v16.14.20 (https://github.com/woocommerce/woocommerce-blocks/pull/5006)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-27 04:44:14 +00:00
renovate[bot] 506b6a8d10 Update dependency @types/lodash to v4.14.176 (https://github.com/woocommerce/woocommerce-blocks/pull/5004)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-27 02:42:19 +00:00
renovate[bot] f9f84ba271 Pin dependency @types/wordpress__compose to 4.0.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5003)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-27 02:30:32 +00:00
Seghir Nadir 2408e34faa Migrate Cart i1 to Cart i2 (https://github.com/woocommerce/woocommerce-blocks/pull/4973)
* move empty cart

* remove Cart and rename Cart i2 to Cart

* graduate blocks

* setup template migration from Cart i1 to Cart i2

* back to js so we have a good diff

* add migration

* fix bug in empty cart template

* add useForceLayout hook to edit

* migrate from old block to new block

* migrate styles

* respect align

* add tests

* Include latest cart line item improvements from cart-i1

* Missing changes from cart-i1

* Line items table should be disabled

* Fix e2e tests for cart i2

* update tests to adapt for inner blocks

* update select to resolveSelect to remove warning checker

* rename test/block to test/index

* move blocks to their own file

* undo rename to keep diff clean

* remove .tsx and update jest config

* Revert "update select to resolveSelect to remove warning checker"

This reverts commit 79d55de30edcfe36bbdfe7506df7a09460824f03.

* revert resolveControl

* Fix empty cart editor E2E test by scrolling to the view switch

* parse attributes for order summary block

* migrate attributes when resaving

* Update documentation

Automatic update after running npm run build:docs

* add align options to filled cart and empty cart

* append instead of replcae

* import style.scss in frontend

Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Raluca Stan <ralucastn@gmail.com>
2021-10-25 15:46:34 +01:00