Marc Roig 43f30b747f
chore: merge develop into v5 main (#21108)
* cron type fix

* Fix typo of query key from 'providers' to 'get-providers'

* Closing #19644 fix filters type

* node-scadule updated + types updated

* Fix formating errors

* fix formatting

* update lock file

* fix patreon oauth 400 error

from lack of user-agent header

* test: backport cli tests (#20433)

* fix(chore): increase specificity of the Lightning icon color (#20467)

* test: temporarily disable broken edit ctb tests on CI (#20481)

* feat(cli): cloud cli commands (v4) (#20119)

* feat(cli): add cloud commands

Co-authored-by: Gonzalo Garcia <nouvellegon@gmail.com>
Co-authored-by: nathan-pichon <nathan.pichon@strapi.io>
Co-authored-by: Abdallah M <55534657+abdallahmz@users.noreply.github.com>

* v4.25.0 (#20500)

* NPS: Update frequency of the NPS (#20492)

* enhancement(admin): change postFirstDismissal and display delays

* enhancement(admin): change the display delay

* fix: prevent use of local ips on webhooks (#20487)

* chore: mask error on webhook manual trigger

* feat: prevent using local ips

* feat: display webhook edit error

* chore: pr suggestion

* chore: api tests

* chore: allow local ips on development

* chore: only run check on production

* feat: include internationalized urls

* fix: prettier

* Add: Strapi deploy command to README files

* v4.25.1

* Update @aws-sdk/client-s3 package

* feat(cli): add browser logout step (#20502)

* feat(cli): add browser log out step

* handle error whiile fetching the config

* Update LICENSE packing for packages for v4 (#20576)

* feat(create-strapi-app): remove the cloud project creation part (#20561)

* feat(create-strapi-app): remove the cloud project creation part

* fix(create-strapi-app): adding new parameter to cloud service instantiation

* Update Yarn to 4.3.1

Signed-off-by: Sora Morimoto <sora@morimoto.io>

* feat(cli): trigger login sequence when token is missing or invalid  (#20572)

* feat(cli): launch login when auth fails

* fix(cli): abstract create project fn

* fix(cli): guidelines

* fix(cli): rebase

---------

Co-authored-by: Gonzalo Andres Garcia <nouvellegon@gmail.com>

* fix clone entity, #20509 (#20531)

* chore: bump glob from 7.2.0 to 9.0.0

* chore: bump glob to v10.4.2 in core/strapi

* update yarn.lock

* removed redundant packages/core/strapi/src/load/glob.ts file

* v4.25.2 to main (#20676)

* Fix typo of query key from 'providers' to 'get-providers'

* Closing #19644 fix filters type

* fix patreon oauth 400 error

from lack of user-agent header

* Add: Strapi deploy command to README files

* Update @aws-sdk/client-s3 package

* feat(cli): add browser logout step (#20502)

* feat(cli): add browser log out step

* handle error whiile fetching the config

* Update LICENSE packing for packages for v4 (#20576)

* feat(create-strapi-app): remove the cloud project creation part (#20561)

* feat(create-strapi-app): remove the cloud project creation part

* fix(create-strapi-app): adding new parameter to cloud service instantiation

* Update Yarn to 4.3.1

Signed-off-by: Sora Morimoto <sora@morimoto.io>

* feat(cli): trigger login sequence when token is missing or invalid  (#20572)

* feat(cli): launch login when auth fails

* fix(cli): abstract create project fn

* fix(cli): guidelines

* fix(cli): rebase

---------

Co-authored-by: Gonzalo Andres Garcia <nouvellegon@gmail.com>

* fix: support string array

* fix clone entity, #20509 (#20531)

* v4.25.2

---------

Signed-off-by: Sora Morimoto <sora@morimoto.io>
Co-authored-by: smoothdvd <madfxgao@gmail.com>
Co-authored-by: Micah Riggan <micahriggan@gmail.com>
Co-authored-by: Tewson Seeoun <tewson.seeoun@gmail.com>
Co-authored-by: Maxime Castres <mcastres@student.42.fr>
Co-authored-by: Alex Supkay <asupkay1124@gmail.com>
Co-authored-by: Alexandre BODIN <alexandrebodin@users.noreply.github.com>
Co-authored-by: Abdallah M <55534657+abdallahmz@users.noreply.github.com>
Co-authored-by: Jean-Sébastien Herbaux <jean-sebastien.herbaux@epitech.eu>
Co-authored-by: Nathan Pichon <nathan.pichon@strapi.io>
Co-authored-by: Sora Morimoto <sora@morimoto.io>
Co-authored-by: Gonzalo Andres Garcia <nouvellegon@gmail.com>
Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
Co-authored-by: Kirill Verevkin <kira795@yandex.ru>

* v4.25.2 (#20675)

* fix: support string array

* v4.25.2

---------

Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
Co-authored-by: Alexandre BODIN <alexandrebodin@users.noreply.github.com>

* feat(cli): use project name from package json by default (#20479)

* chore: change cloud message in homepage (#20685)

* chore(cloud-cli): migrate to fs-extra (#20695)

* feat(cloud-cli): migrate compress-files.ts to fs-extra

* feat(cloud-cli): migrate pkg.ts to fs-extra

* fix(cloud-cli): update using promises in recursive function

* feat(cli): Add projects list command (#20694)

* feat(cli): projects list command

* fix: updating contributing guide workflow

* chore: release v4.25.3 (#20722)

* fix: invalid path separator (#20740)

* fix: invalid path separator

* fix: prettier

* v4.25.4 to develop (#20832)

* 4.25.4 to main (#20833)

* cron type fix

* node-scadule updated + types updated

* Fix formating errors

* fix formatting

* update lock file

* chore(cloud-cli): migrate to fs-extra (#20695)

* feat(cloud-cli): migrate compress-files.ts to fs-extra

* feat(cloud-cli): migrate pkg.ts to fs-extra

* fix(cloud-cli): update using promises in recursive function

* feat(cli): Add projects list command (#20694)

* feat(cli): projects list command

* fix: invalid path separator (#20740)

* fix: invalid path separator

* fix: prettier

* v4.25.4

---------

Co-authored-by: Boegie19 <34578426+Boegie19@users.noreply.github.com>
Co-authored-by: Nathan Pichon <nathan.pichon@strapi.io>
Co-authored-by: Gonzalo Andres Garcia <nouvellegon@gmail.com>
Co-authored-by: Rémi de Juvigny <8087692+remidej@users.noreply.github.com>
Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
Co-authored-by: Alexandre BODIN <alexandrebodin@users.noreply.github.com>

* Chore: Removing some people from the issue auto-assignment

Removing Simen and Nick from the array of people issues will be auto-assigned to

* fix(cloud-cli): avoid blocking event loop in deploy command (#20850)

* chore(cloud-cli): update error handling for config and logs at the ends of function execution

* fix(cloud-cli): clear timeout before returning - free the event loop from waiting

* feat(cli): add project link command to cloud cli (#20714)

* feat(cli): add link command

* 4.25.5 to main (#20873)

* cron type fix

* node-scadule updated + types updated

* Fix formating errors

* fix formatting

* update lock file

* chore(cloud-cli): migrate to fs-extra (#20695)

* feat(cloud-cli): migrate compress-files.ts to fs-extra

* feat(cloud-cli): migrate pkg.ts to fs-extra

* fix(cloud-cli): update using promises in recursive function

* feat(cli): Add projects list command (#20694)

* feat(cli): projects list command

* fix: updating contributing guide workflow

* fix: invalid path separator (#20740)

* fix: invalid path separator

* fix: prettier

* v4.25.4 to develop (#20832)

* Chore: Removing some people from the issue auto-assignment

Removing Simen and Nick from the array of people issues will be auto-assigned to

* fix(cloud-cli): avoid blocking event loop in deploy command (#20850)

* chore(cloud-cli): update error handling for config and logs at the ends of function execution

* fix(cloud-cli): clear timeout before returning - free the event loop from waiting

* feat(cli): add project link command to cloud cli (#20714)

* feat(cli): add link command

* v4.25.5

---------

Co-authored-by: Boegie19 <34578426+Boegie19@users.noreply.github.com>
Co-authored-by: Nathan Pichon <nathan.pichon@strapi.io>
Co-authored-by: Gonzalo Andres Garcia <nouvellegon@gmail.com>
Co-authored-by: José Luis <alagunasalahaddin@live.com>
Co-authored-by: Rémi de Juvigny <8087692+remidej@users.noreply.github.com>
Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
Co-authored-by: Alexandre BODIN <alexandrebodin@users.noreply.github.com>
Co-authored-by: DMehaffy <derrickmehaffy@gmail.com>

* v4.25.5 to develop (#20872)

* 4.25.4 to main (#20833)

* cron type fix

* node-scadule updated + types updated

* Fix formating errors

* fix formatting

* update lock file

* chore(cloud-cli): migrate to fs-extra (#20695)

* feat(cloud-cli): migrate compress-files.ts to fs-extra

* feat(cloud-cli): migrate pkg.ts to fs-extra

* fix(cloud-cli): update using promises in recursive function

* feat(cli): Add projects list command (#20694)

* feat(cli): projects list command

* fix: invalid path separator (#20740)

* fix: invalid path separator

* fix: prettier

* v4.25.4

---------

Co-authored-by: Boegie19 <34578426+Boegie19@users.noreply.github.com>
Co-authored-by: Nathan Pichon <nathan.pichon@strapi.io>
Co-authored-by: Gonzalo Andres Garcia <nouvellegon@gmail.com>
Co-authored-by: Rémi de Juvigny <8087692+remidej@users.noreply.github.com>
Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
Co-authored-by: Alexandre BODIN <alexandrebodin@users.noreply.github.com>

* v4.25.5

---------

Co-authored-by: Rémi de Juvigny <8087692+remidej@users.noreply.github.com>
Co-authored-by: Boegie19 <34578426+Boegie19@users.noreply.github.com>
Co-authored-by: Nathan Pichon <nathan.pichon@strapi.io>
Co-authored-by: Gonzalo Andres Garcia <nouvellegon@gmail.com>
Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
Co-authored-by: Alexandre BODIN <alexandrebodin@users.noreply.github.com>

* fix custom email provider test issue #19122 (#19123)

* fix custom email provider test issue #19122

* chore(email): prettier clean up

---------

Co-authored-by: Jamie Howard <jamie.howard@strapi.io>

* Changed Discord username to fit change Discord made.

* v4.25.6

* fix(cli): Update 'project not found' error message in deploy command (#20923)

* chore: aggregate test result to add a single required status check and make it dynamic

* shard ee tests+ fix broken platform (#20914)

* v4.25.7

* RBAC Action Aliases - v4 (#20954)

* test(cli): add list command tests (#20949)

* feat(cloud-cli): preselect node-version based on local node-version (#20959)

* [Fix] Validate cloning as entity creation so field validations aren't skipped e.g. unique constraints (#20963)

* flatten CI workflow tests (#20969)

* v4.25.8 release to develop (#21011)

* Removing workflows the support team doesn't need anymore

* chore: getstarted schema sync between v4-v5 (#21047)

* Chore(CLI): Add validation to prevent deployment of suspended projects (#20976)

* chore(cli): check project suspension

* Prettier fix

* chore(deps): update axios to 1.7.4 (#21014)

* fix(cli): Update endpoint path for listLinkProjects (#21052)

* chore: update lint-staged to 15.2.9 (#21075)

* v4.25.9

* fix: issue 21079

* fix: rich text selection & deletion issues

* fix: build

* fix: type

* fix: skip failing cli tests

* chore: fix jest options in ci

---------

Signed-off-by: Sora Morimoto <sora@morimoto.io>
Co-authored-by: Boegie19 <34578426+Boegie19@users.noreply.github.com>
Co-authored-by: smoothdvd <madfxgao@gmail.com>
Co-authored-by: Micah Riggan <micahriggan@gmail.com>
Co-authored-by: Tewson Seeoun <tewson.seeoun@gmail.com>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
Co-authored-by: Simone <startae14@gmail.com>
Co-authored-by: Nathan Pichon <nathan.pichon@strapi.io>
Co-authored-by: Gonzalo Garcia <nouvellegon@gmail.com>
Co-authored-by: Abdallah M <55534657+abdallahmz@users.noreply.github.com>
Co-authored-by: Maxime Castres <mcastres@student.42.fr>
Co-authored-by: Convly <jean-sebastien.herbaux@epitech.eu>
Co-authored-by: Alex Supkay <asupkay1124@gmail.com>
Co-authored-by: Alexandre BODIN <alexandrebodin@users.noreply.github.com>
Co-authored-by: Sora Morimoto <sora@morimoto.io>
Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
Co-authored-by: Kirill Verevkin <kira795@yandex.ru>
Co-authored-by: chrismuiruriz <chrismuiruri007@gmail.com>
Co-authored-by: José Luis <alagunasalahaddin@live.com>
Co-authored-by: Rémi de Juvigny <8087692+remidej@users.noreply.github.com>
Co-authored-by: Rémi de Juvigny <remi.dejuvigny@strapi.io>
Co-authored-by: DMehaffy <derrickmehaffy@gmail.com>
Co-authored-by: ahallaha <104538552+ahallaha@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
Co-authored-by: mallowsc <mallowsc@outlook.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: mallowsc <96073136+mallowsc@users.noreply.github.com>
Co-authored-by: Olli Hiekkaranta <Ohiekkar@users.noreply.github.com>
2024-09-02 14:31:01 +02:00
..

CLI Tests

Running the tests

Run yarn test:cli to begin. The command will generate the required number of test applications based on the CLI app-template, seed them with preconfigured data [not yet implemented], then run the test suites (or "domains").

The -c X option can be used to limit the number of concurrently running domains, where X is the number to be run simultaneously.

If any changes are made to the template, or other issues are being encountered, try removing and regenerating the test apps by using yarn test:cli:clean before running the tets.

Writing tests

The coffee library is used to run commands and expect input, complete prompts, etc. Please see their documentation for more details.

Warning: Due to issues with the monorepo in regards to linking packages, we currently have to use 'npm' instead of 'yarn' to run internal CLI commands

Accessing test app information

When a test domain is run, the path to the available test app is provided in the comma-separated env variable TEST_APPS. The number of apps provided will be the number of testApps set in the configuration, or the default of 1.

For example, if 2 test apps are requested, you should receive an env such as: TEST_APPS=/test-apps/cli/test-app-0,/test-apps/cli/test-app-3

Your CLI commands being tested can then be run in that directory.

Keeping an app running

As the CLI generally does not require a running Strapi app, this is not managed by the CLI testing tool.

After tests for remote data-transfer are implemented, there will be utility functions available to assist in running one or more of the test apps in the background while other tests are run against it.

Structure

Each subdirectory within the ./tests directory here is considered a test "domain" and will have its own test app(s) available. By default only one test app is made available unless additional ones are configured in a config.js within that test domain.

tests/{domain}/config.js

This optional file should return a function that returns a configuration object like the following complete example:

module.exports = () => {
  return {
    testApps: 2, // the number of test apps to be made available
  };
};

How to run and test CLI commands

See the available tests in the tests directory for examples.