diff --git a/README.md b/README.md index fd327327..acf76b25 100644 --- a/README.md +++ b/README.md @@ -54,32 +54,32 @@ between your host or guest machine. > If you decide to use your guest machine, just ssh into it, go to the synced folder: > -> ``` +> ```bash > $ vagrant ssh > $ cd /usr/src/freeipa-webui/ > ``` Now you can install the project's dependencies: -``` +```bash $ npm install ``` To build (and watch the project for changes), run: -``` +```bash $ npm run start ``` You can serve the project using the following command: -``` +```bash $ npm run serve ``` You can also build and serve the project for production using the following command: -``` +```bash $ npm run build ``` @@ -94,9 +94,51 @@ The default credentials are **admin** and **Secret123**. ## Testing -TBD +### Integration tests + +Integration testing uses [Cypress](https://www.cypress.io) library, which runs [Gherkin-defined](https://cucumber.io/docs/gherkin) steps. + +#### Launching the existing tests + +> [!WARNING] +> Never run integration tests on production server. Clean-up step would delete all existing entries, e.g. users. + +1. Prepare a vagrant server as in `Development Environment` +2. if you want to launch all the tests in headless mode, execute + +```bash +$ npm run cypress +``` + +if you want to open graphical debugger, execute + +```bash +$ npm run cypress:open +``` + +and select desired feature file you want to execute. + +#### Adding new tests + +The integration tests use the **.feature** suffix and can be found in the _tests_ subfolder, together with the steps describing each feature. + +### Unit tests + +Unit tests use [jest](https://jestjs.io). + +#### Launching the existing tests + +The existing tests can be launched by executing + +```bash +$ npm run test +``` + +#### Adding new tests + +The unit tests live, where the component that is being tested lives, the name should be the same, only with the **.test.tsx** suffix instead. -- [audit-ci](https://github.com/IBM/audit-ci) +If you require FreeIPA to be running, please use integration tests instead. ## License