mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-11-13 03:35:52 +01:00
821bd776f3
* refactor: enable e2e for UI * refactor: enable e2e for UI * refactor: enable e2e for UI * refactor: enable e2e for UI * refactor: enable e2e for UI * refactor: enable e2e for UI
1.5 KiB
1.5 KiB
E2E CLI Testing
What is included on these test?
- Default configuration only
- Basic commands eg (
install / add
,info
,publish
). - Test with 3 package managers (
yarn classic
,pnpm
andnpm@7
)
How it works?
On run test suites, there is a global setup where will install the local source code of verdaccio in a temporary folder. Each suite will install.
spawn
a registry on port6001
using_bootstrap_verdaccio.yaml
which block any local package being fetched from remote upstream.- Publish local project to the spawned registry (with global
pnpm
)
The published
verdaccio
should be fetch by each suite to ensure reliability of each test.
How to write test?
Each of the suite must use a package manager command (eg: npm install
) and validate the output according what the
user see, either verifying the outcome in JSON form, run a command (eg: jest ..
) and the expected result.
Each Test should start with the initial setup, this step does the following
beforeAll
: Install verdaccio to the suite context that returns aSetup
object.afterAll
: Stop the child process that runs verdaccio.
beforeAll(async () => {
setup = await initialSetup(tempRootFolder, port);
console.log('--setup', setup.install);
});
stop the process is the final step that should occur in every suite.
afterAll(async () => {
setup.child.kill();
});
What should not included on these tests?
- Anything is unrelated with client commands usage, eg: (auth permissions, third party integrations, hooks, plugins)