Commit Graph

368 Commits

Author SHA1 Message Date
Christopher Allford 7fcbc69235 Added a transformer to convert between data types 2020-11-05 19:25:45 -08:00
Christopher Allford 7287eb024c Reversed the execution of transformers for "toModel" so that things like key changes will happen first 2020-11-05 16:29:04 -08:00
Christopher Allford d060108afe Added a custom transformation for models to implement specific logic. 2020-11-05 14:14:47 -08:00
Christopher Allford 4f08e102c4 Simplified the transformer usage in repositories 2020-11-05 13:57:56 -08:00
Ron Rennick 9feecc1376 add/update e2e package changelogs 2020-11-05 16:57:04 -04:00
Christopher Allford 46df060c0e Revised the ModelTransformer so that it can support more complicated transformations. 2020-11-05 12:37:40 -08:00
Nestor Soriano 8bb0f196e6 Change the strategy for moving packages
Since the Mozart package requires PHP 7.2, and we need to support 7.0
and 7.1, the moving step has been removed from the composer install
stage. Instead, now it has to be triggered manually via
`composer run move-vendor-namespaces`, and the moved package must be
added to source control. See the updated src/Internal/Vendor/REAMDE.md
for details.
2020-11-05 17:19:14 +01:00
Christopher Allford 67f57abe26 Added type-safe transformation functions for converting between API representations and model representation 2020-11-04 16:33:34 -08:00
Christopher Allford f438ddc80a Added virtually all of the data returned by the REST API to the SimpleProduct model
There's still a few things missing but I think this is a much better start than where we were before.
2020-11-04 14:55:58 -08:00
Ron Rennick d0fd8acd44 add permalinks working test 2020-11-04 14:56:48 -04:00
Christopher Allford 72d09026a6 Renamed the prettyPermalinks method to better clarify its intent 2020-11-04 10:28:10 -08:00
Christopher Allford b9ba2e880d Added support for installations not using pretty permalinks 2020-11-03 17:04:41 -08:00
Christopher Allford 39367de732 Fixed a bug with OAuth signature generation when using query parameters 2020-11-03 17:02:12 -08:00
Roy Ho 2d6d53ed6f
Merge pull request #28127 from woocommerce/fix/duplicate-puppeteer-dependency
remove puppeteer dependency from main package
2020-10-30 10:34:11 -07:00
Rodrigo Primo 683c8cbcd7
Merge pull request #28116 from woocommerce/fix/flaky-coupon-test
fix flaky e2e coupon test
2020-10-29 18:04:59 -03:00
Ron Rennick bc2845fe3a merge master 2020-10-29 14:27:55 -03:00
Tam Mullen 20d973975e
Merge pull request #27916 from woocommerce/add/core-tests-readme
add readme to core tests package
2020-10-29 17:13:40 +00:00
Ron Rennick d30648f55f use waitAndClick, waitForSelector where applicable 2020-10-29 12:24:50 -03:00
Ron Rennick 55313e7006 Merge branch 'master' into fix/25643 2020-10-29 10:29:16 -03:00
Ron Rennick 8830de1fa4 use delete focus selector available on order edit 2020-10-29 09:17:35 -03:00
Ron Rennick 0424bfe847 fix typo in setup instructions URL 2020-10-29 08:44:10 -03:00
Ron Rennick 21ebe3af05 remove puppeteer dependency from e2e-environment 2020-10-29 08:41:24 -03:00
Ron Rennick ef2e226feb use focus instead of scrollTo 2020-10-28 19:15:17 -03:00
Ron Rennick 9851c26d31 Merge branch 'master' into fix/flaky-coupon-test 2020-10-28 18:48:13 -03:00
Ron Rennick 7cb68e055c add lerna hoist, use consistent package versions 2020-10-28 14:21:02 -03:00
Ron Rennick 038058af1e update product new test with correct parameters 2020-10-28 13:44:33 -03:00
Tam Mullen a0233fad93
Merge pull request #27978 from woocommerce/docs/e2e-environment-0.1.6
update e2e-environment readme
2020-10-28 12:51:13 +00:00
Tam Mullen 8e5bd336de
Merge pull request #27994 from woocommerce/fix/27979
expand e2e-utils readme, simplify exports
2020-10-28 12:50:57 +00:00
Ron Rennick 1794026773 fix flaky e2e coupon test 2020-10-27 16:44:42 -03:00
Ron Rennick 9d47a1c072 simplify e2e-environment exports 2020-10-21 16:17:10 -03:00
Ron Rennick e91a09f302 remove remaining webalias fragments 2020-10-21 15:47:09 -03:00
Ron Rennick 5e2e01e7b8 add Nightly message to log, bump Travis 2020-10-21 13:25:23 -03:00
Ron Rennick 7ebfdbeb0e add support for custom container initialization script 2020-10-21 10:53:48 -03:00
Ron Rennick 7a5cad3f99 variation test works to last uncommented step 2020-10-20 19:43:07 -03:00
Ron Rennick bf410cc44e use checkbox object for checking/unchecking 2020-10-20 17:21:34 -03:00
Ron Rennick 894dceee95 Fixes needed for variable product E2E test
- Jest/Puppeteer sometimes will not find an element on page load when that element is outside the initial viewport
- There were duplicate .variation_tab classes which confused Jest/Puppeteer
- Add function for opening and verifying new product page
- Update test sequence for changes in flow in markup and Jest/Puppeteer
2020-10-20 11:25:36 -03:00
Ron Rennick 503e898307 use direct exports 2020-10-19 11:32:28 -03:00
Ron Rennick 3b1481bb01 expand e2e-utils readme, simplify exports 2020-10-16 16:25:23 -03:00
Julia Amosova ff67a7c1ce Add note about test locations in WC Core and other projects. 2020-10-16 11:27:00 -04:00
Julia Amosova bd5b65426f Update README with more details on how to write e2e tests. 2020-10-16 11:20:33 -04:00
Julia Amosova 8c094daceb Add guide for writing e2e tests in README 2020-10-16 11:20:24 -04:00
Rodrigo Primo 7599517e91
Merge pull request #27965 from woocommerce/fix/27874
switch to api package, bump utils package version
2020-10-15 15:05:43 -03:00
Ron Rennick dd6d460fec update e2e-environment readme 2020-10-15 14:53:21 -03:00
Ron Rennick c3f934ad21 add e2e-environment package changelog 2020-10-15 14:14:22 -03:00
Ron Rennick 5815e5cf48
Merge pull request #27914 from woocommerce/fix/e2e-container-check
Only attempt to run E2E tests if testing host is ready
2020-10-15 13:44:55 -03:00
Ron Rennick f0e6e1761c
Merge pull request #27913 from woocommerce/fix/27820
add test:e2e-debug command
2020-10-15 13:44:32 -03:00
Ron Rennick 0a7c0dc7fc
Merge pull request #27790 from woocommerce/fix/27787
Expose automattic/puppeteer-utils in e2e-environment
2020-10-15 09:52:52 -03:00
Ron Rennick f945a0e16c switch to api package, bump utils package version 2020-10-14 15:13:08 -03:00
Ron Rennick 514e6cc308 document disabling puppeteer download 2020-10-14 13:59:37 -03:00
Julia Amosova 03078c5a9d Implement `waitAndClick` in the setup e2e test. 2020-10-13 16:25:28 -04:00
Ron Rennick 13bcd43bfe expose automattic/puppeteer-utils in e2e-environment 2020-10-13 16:16:32 -04:00
Ron Rennick 24713a45c3 restore shipping setup test 2020-10-13 16:15:07 -03:00
Rodrigo Primo 5f5e739d7a
Update e2e test documentation to fix invalid example
This commit just updates the e2e test documentation to use a test file that exists in the section on how to run individual tests
2020-10-10 10:33:41 -03:00
Ron Rennick 903b86677c add readme to core tests package 2020-10-09 10:31:45 -03:00
Ron Rennick 62acca06e1 don't run tests if testing host not ready 2020-10-09 05:14:57 -03:00
Ron Rennick 7f57906959 add test:e2e-debug command 2020-10-09 05:00:03 -03:00
Christopher Allford f9ef91adc1
Merge pull request #27836 from woocommerce/packages/api/add/repository-listing
@woocommerce/api: Added list() repository operation and classes for managing store settings
2020-10-08 13:20:12 -07:00
Christopher Allford 1d0cbc8187 Merge branch 'master' into packages/api/add/repository-listing 2020-10-08 11:48:22 -07:00
Ron Rennick 31001036c9
Merge branch 'master' into fix/25962 2020-10-08 15:30:25 -03:00
Ron Rennick 3a980a1241 merge current master 2020-10-07 03:17:38 -03:00
Ron Rennick 84fdfb6769 merge master 2020-10-07 03:05:04 -03:00
Julia Amosova aac4db94b2
Merge pull request #27679 from woocommerce/packages/e2e/config-functions
add eslint & babel config functions to e2e-environment
2020-10-06 14:15:56 -04:00
Ron Rennick df60bfb054
Merge pull request #27276 from woocommerce/fix/docker-ssh
Fix e2e docker:ssh command to work in any repo
2020-10-05 09:51:56 -03:00
Ron Rennick 610e787a86 package lock maintenance 2020-10-05 09:31:48 -03:00
Ron Rennick 5139c73029 allow running named test files that don't match test spec pattern 2020-10-05 09:16:27 -03:00
Christopher Allford 3558a9a025 Fixed a bug caused by differences in the URL when creating signatures on the client and server 2020-10-02 16:34:07 -07:00
Christopher Allford 6b5ff6d494 Fixed a bug that would cause Axios errors to be consumed by interceptors 2020-10-02 15:37:09 -07:00
Christopher Allford b74adf215a Adjusted the error mechanism to better follow the standard practice of rejecting HTTP errors 2020-10-02 14:10:24 -07:00
Christopher Allford 54b876fc75 Adjusted the typing of the ModelRepository and related interfaces to better distinguish between parent & child models 2020-10-01 18:06:34 -07:00
Christopher Allford 8f5ff436a2 Added support for flat parents to simplify calls with them 2020-10-01 17:48:37 -07:00
Christopher Allford a01da2da93 Updated the lock files 2020-10-01 16:04:03 -07:00
Christopher Allford e6efbdde34 Merge branch 'master' into packages/api/add/repository-listing 2020-10-01 15:58:48 -07:00
Christopher Allford 8ee89eb85d Documentation fixes 2020-10-01 15:53:30 -07:00
Christopher Allford cfa20570c1 Added appropriate HTTP errors to REST repository methods 2020-10-01 15:37:58 -07:00
Christopher Allford f8574bed56 Added a utility service for updating settings 2020-10-01 15:23:46 -07:00
Christopher Allford f0ad6e4fc2 Added aliases to make repository types easier to read 2020-10-01 15:00:27 -07:00
Christopher Allford 787040db4c Adjusted the ModelRepository to make repository methods more type-safe 2020-10-01 14:31:55 -07:00
Christopher Allford f2dda16c40 Updated lock files 2020-10-01 14:28:14 -07:00
Ron Rennick c17b6b5ad0 Update expected industry count 2020-10-01 14:46:04 -03:00
Ron Rennick 4af90518da lock file maintenance 2020-10-01 14:21:40 -03:00
Ron Rennick 8910357437 add missing test stubs 2020-10-01 10:25:22 -03:00
Christopher Allford f6cbab8d07 Added missing static helpers for fetching repositories 2020-09-30 13:16:46 -07:00
Christopher Allford fccf1fb66e Added settings and group repositories with some basic functionality 2020-09-30 13:11:31 -07:00
Ron Rennick be15429c30 restore ability to run individual tests 2020-09-30 17:05:02 -03:00
Ron Rennick 72219b2323 move merchant tests to package 2020-09-30 14:41:31 -03:00
Christopher Allford 4c2637c479 Added a `list` operation to the repository 2020-09-30 07:59:10 -07:00
Christopher Allford f571324a09 Added better type-safety when distinguishing between resources that are children and those that are not 2020-09-29 18:40:50 -07:00
Ron Rennick 76f591251a move front end tests to package 2020-09-29 17:00:34 -03:00
Ron Rennick 27e79f465f split activation, onboarding, setup tests into separate files 2020-09-29 16:16:43 -03:00
Christopher Allford 8c5548d06e Added @template JSDoc tag to API package for better IDE support 2020-09-29 12:00:09 -07:00
Ron Rennick 1abbe3f273 initial core test package files, move setup tests to package 2020-09-29 15:22:20 -03:00
Ron Rennick fd60f7052a Merge branch 'master' into fix/e2e-url-no-port 2020-09-28 16:15:22 -03:00
Christopher Allford ef93f22321 Moved the product model for consistency with other model types 2020-09-25 14:08:19 -07:00
Christopher Allford 789773c65c Fixed E2E test 2020-09-25 14:05:11 -07:00
Christopher Allford 44c7428358 Updated package lock files and fixed test error 2020-09-25 13:49:54 -07:00
Christopher Allford 760b0e4cdb Merge branch 'master' into packages/factories-to-api-refactor 2020-09-25 13:19:36 -07:00
Christopher Allford c09d91f6ce Finished adding appropriate documentation to the API package 2020-09-25 11:11:17 -07:00
Ron Rennick 6b7d67e587 update onboarding flow for 4.6 2020-09-25 12:06:45 -03:00
Christopher Allford ca0ea88e52 Updated the JSDoc and type-safety of repositories to better document the implemented operations 2020-09-24 14:22:38 -07:00
Ron Rennick 2ab59149ad revert testing change to default.json 2020-09-24 12:27:35 -03:00
Julia Amosova dcd0c46ab5
Merge pull request #27714 from woocommerce/fix/headless-flag-e2e-dev-mode
Add missing headless flag for running e2e tests in dev mode + README updates
2020-09-23 17:05:45 -04:00
Ron Rennick bde41799af merge master 2020-09-23 17:20:43 -03:00
Ron Rennick a80dc37684 merge master 2020-09-23 16:26:17 -03:00
Ron Rennick 3fbdf46192 always remove the trailing slash from the base URL 2020-09-23 16:22:15 -03:00
Christopher Allford a7175c5ad4 Adjusted create method signature to better replicate TypeScript behavior 2020-09-21 13:44:45 -07:00
Christopher Allford 1674c05b66 Fixed the package.json files array to exclude development content 2020-09-21 13:33:57 -07:00
Christopher Allford 5297b27c79 Moved the factories from the @woocommerce/api package into the @woocommerce/e2e-utils package 2020-09-21 13:14:26 -07:00
Christopher Allford b962c10cee Updated the readme for the API package 2020-09-21 12:32:44 -07:00
Christopher Allford fba5a46243 Integrated the API package into the utils package again to generate simple products 2020-09-21 11:22:43 -07:00
Christopher Allford 8e7ef263a2 Adjusted the package exports to be easier to consume 2020-09-21 11:21:35 -07:00
Julia Amosova 12d546b280 Add `PUPPETEER_SLOWMO` to global process.env to enable it. 2020-09-20 15:34:47 -04:00
Julia Amosova c78051c7a5 Place back `scrollIntoView` to OBW e2e test. 2020-09-18 19:15:53 -04:00
Julia Amosova ff8e5bbc8b Remove `scrollIntoView` from OBW e2e test as it is not needed. 2020-09-18 18:33:21 -04:00
Christopher Allford bf70a3ea74 Updated lock files 2020-09-18 14:43:00 -07:00
Christopher Allford d22ed6547e Merge branch 'master' into package/e2e-environment/better-container-detection 2020-09-18 14:32:11 -07:00
Christopher Allford 866ab47dda Adjusted the exports for clarity of use 2020-09-18 14:26:00 -07:00
Julia Amosova 6a93c8dd68 Added note to README on how to use `PUPPETEER_SLOWMO` variable. 2020-09-18 16:53:48 -04:00
Christopher Allford b3b92e2d4d Separated the construction of factories & repositories from the models for simplicity 2020-09-18 13:53:10 -07:00
Julia Amosova 30c904db68 Added `headless` & `slowMo` flags back to Puppeteer config. 2020-09-18 16:39:45 -04:00
Julia Amosova 38f14747fa Update commands that need to be run to build e2e test env. 2020-09-18 16:05:36 -04:00
Julia Amosova 68c06683e7 Add note regarding re-initializing test container when `docker:down/up`. 2020-09-18 15:26:50 -04:00
Julia Amosova 24b987a409 Add link to `Test Variables` section when mentioning changing the port. 2020-09-18 15:22:25 -04:00
Julia Amosova 6a562f8dfa Correct type: from `MariaDV` to `MariaDB` throughout e2e README. 2020-09-18 15:17:59 -04:00
Julia Amosova 085d7d884f Add `Install NVM` section to README's Table of Contents. 2020-09-18 14:52:46 -04:00
Julia Amosova 2455a82f36 Add to README how to run tests using custom WP, PHP and MariaDV versions. 2020-09-18 14:48:26 -04:00
Julia Amosova d66e7ef3b3 Update README with more accurate details on how to run e2e tests. 2020-09-18 14:30:54 -04:00
Julia Amosova 98edbef9a9 Add missing headless flag for running e2e tests in dev mode. 2020-09-18 13:43:44 -04:00
Christopher Allford a9ee9806a4 Implemented the factory & repository for simple products 2020-09-17 13:31:39 -07:00
Christopher Allford 6c230ca7b3 Centralized the CRUD actions into a single kind of repository that can be easily used in every adapter case 2020-09-17 09:43:43 -07:00
Christopher Allford 3a7c96b7cd Revised the base tsconfig to match Gutenberg more closely 2020-09-16 15:14:53 -07:00
Christopher Allford 011974ec09 Merge branch 'master' into packages/factories-to-api-refactor 2020-09-16 11:51:49 -07:00
Christopher Allford f5e130c190
Merge pull request #27667 from woocommerce/fix/standardize-nvm-usage
Standardize usage of NVM
2020-09-16 11:40:48 -07:00
Christopher Allford 38afb8c2ff Merge branch 'master' into packages/factories-to-api-refactor 2020-09-15 14:49:22 -07:00
Ron Rennick 87ea5dbffc add eslint, babel config functions 2020-09-15 14:08:19 -03:00
Ron Rennick 7c509d8ddb use tabs for indentation 2020-09-15 10:10:59 -03:00
Ron Rennick 0bf505ab12
Merge pull request #27645 from woocommerce/update/e2e-utils-for-package
prep e2e-utils package for publish
2020-09-14 14:40:19 -03:00
Christopher Allford a77a1cc77c Refreshed all lock files and removed "woocommerce" dependency from "e2e-environment" 2020-09-14 10:00:32 -07:00
Ron Rennick be8ba23801 merge master 2020-09-11 15:32:10 -03:00
Ron Rennick cd80e67717 merge master 2020-09-11 14:35:27 -03:00
Christopher Allford 2e7f1056e0 Replaced the environment dependency version resolution to use the Docker HTTP API
Since it's possible that the latest git tag isn't a Docker page we should get the latest version directly from Docker instead. This commit adds support for the `/v2/repositories/library/<image>/tags` endpoint and figures out the latest version from the response.
2020-09-10 14:26:44 -07:00
Christopher Allford 07bbf56ace Removed unnecessary `woocommerce` dependency from E2E package 2020-09-10 13:05:31 -07:00
Ron Rennick 238fe43a61 prep e2e-utils package for publish 2020-09-10 16:10:48 -03:00
Ron Rennick 1c07d5ec5a restore looking up tags from git, add npm install to travis e2e script 2020-09-10 14:54:35 -03:00
Ron Rennick bff1e799f4 use better test for creating ready page 2020-09-10 13:23:18 -03:00
Christopher Allford d0e6110e93 Fixed a failing E2E test 2020-09-09 14:47:44 -07:00
Christopher Allford aabc8ccd6b Updated all of the package-lock files using Node v10 2020-09-09 14:47:35 -07:00
Ron Rennick 25cbfd2452 run grunt directly in travis e2e 2020-09-09 17:00:06 -03:00
Christopher Allford 63e4dcf4a2 Created a transformer class to use in model repositories
Since models need to support both read & write transformations we can make dealing with this a bit easier in its own class now.
2020-09-09 10:00:30 -07:00
Ron Rennick 21e099d48f merge master 2020-09-09 11:17:20 -03:00
Christopher Allford 39c5bc6b74 Refactored the factory to use a repository instead of an adapter so that we can expose more API functionality 2020-09-07 16:00:27 -07:00