diff --git a/README.md b/README.md new file mode 100644 index 0000000000..6c5f3bb71e --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# Components monorepo experiment + +## Setup + +```sh +yarn +``` + +## Run all tests in Chrome + +```sh +yarn test +``` + +## Run all tests in Playwright + +```sh +yarn test:playwright +``` + +## Run tests for single package + +```sh +yarn test --group vaadin-upload +``` diff --git a/package.json b/package.json index 0ec68c9c4b..99d81285ed 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "packages/*" ], "scripts": { - "test": "web-test-runner packages/**/test/*.test.js --coverage", + "test": "web-test-runner --coverage", "test:playwright": "web-test-runner --config web-test-runner-playwright.config.js" }, "devDependencies": { diff --git a/web-test-runner.config.js b/web-test-runner.config.js index 7ff4925d82..7e74e880c2 100644 --- a/web-test-runner.config.js +++ b/web-test-runner.config.js @@ -1,5 +1,13 @@ /* eslint-env node */ -const config = { +const fs = require('fs'); + +const packages = fs + .readdirSync('packages') + .filter( + dir => fs.statSync(`packages/${dir}`).isDirectory() && fs.existsSync(`packages/${dir}/test`), + ); + +module.exports = { nodeResolve: true, browserStartTimeout: 60000, // default 30000 testsStartTimeout: 60000, // default 10000 @@ -18,7 +26,11 @@ const config = { ui: 'bdd', timeout: '10000' } - } + }, + groups: packages.map(pkg => { + return { + name: pkg, + files: `packages/${pkg}/test/*.test.js`, + }; + }), }; - -module.exports = config;