This file describes what are the tests purpose and what they test.
Testing is very much part of the development process.
These kind of tests represent the specifications. They ensure the code functionality.
It is not mandatory to add tests to everything (but encouraged). For example, classes for typing, such as the DTOs, do not necessary need tests.
E2E (End 2 End) consists of testing a whole running application. It confirms that the final use of that application is correct.
More specifically, their objective is to detect regression bugs.
The E2E testing of the backend
confirms that the API is correctly implemented.
The results are well formatted and the input validation works.
The code is available here.
It also tests its parent shared code:
The commands can be seen here.
The E2E testing of the frontend
confirms that the main application,
available to the users, is working as expected.
The code is available here.
It tests its parent shared code and indirectly the backend
:
The commands can be seen here.
At some point, the code will be used in production. Some errors could be returned by any log system ou final users.
Instead of just reporting the issue, tests (at least one in one of the E2E) should be created.
The person reporting this issue has no obligation of fixing it;
It could simply be someone who has no technological knowledge and uses the studio mode to add the test(s).
The person, that is no developer, adding e2e tests does not need to "clean" the code. It's the person fixing the issue that assure that the styleguide is still applied.
The tests should be created in a new git branch starting with
fix/
.
See here.
Then the same people or another can investigate and add more tests, then anyone can fix it.
It corresponds to the dev flow.