dev:contributing:qa
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
dev:contributing:qa [2022/02/10 13:34] – external edit 127.0.0.1 | dev:contributing:qa [2025/06/27 15:36] (current) – [Angular Unit Tests] add common things that break them sandbergja | ||
---|---|---|---|
Line 57: | Line 57: | ||
See [[dev: | See [[dev: | ||
+ | |||
+ | To run on a running Evergreen server: | ||
+ | |||
+ | <code sh> | ||
+ | cd Open-ILS/ | ||
+ | npm run test | ||
+ | </ | ||
+ | |||
+ | === Common things that break Angular unit tests === | ||
+ | |||
+ | == Changing DOM selectors == | ||
+ | |||
+ | If the test is expecting a certain DOM element, but you change the structure within an Angular template, the test might start failing. | ||
+ | |||
+ | Note that you can use text of a button as a selector. | ||
+ | |||
+ | To fix it: update the selector in the test. Or perhaps the test can be made more general. | ||
+ | |||
+ | == Adding a new service == | ||
+ | |||
+ | Adding a new service | ||
+ | |||
+ | To fix it: add a mock for the new service in the test. Or even better, consider if you can simplify or refactor the component so that it does not need many different services. | ||
+ | |||
+ | == Lifecycle/ | ||
+ | |||
+ | Interacting with anything asynchronous (especially grid and combobox) requires some care! | ||
+ | |||
+ | To fix it: You may be able to add a setTimeout. | ||
+ | ==== Angular e2e (end-to-end) Tests ==== | ||
+ | |||
+ | To run with a GUI: | ||
+ | |||
+ | <code sh> | ||
+ | cd Open-ILS/ | ||
+ | ng e2e | ||
+ | </ | ||
+ | |||
+ | To run without a GUI: | ||
+ | |||
+ | <code sh> | ||
+ | cd Open-ILS/ | ||
+ | MOZ_HEADLESS=1 ng e2e | ||
+ | </ | ||
+ | |||
+ | To run in Chrome instead of Firefox: | ||
+ | <code sh> | ||
+ | cd Open-ILS/ | ||
+ | npm install --save-dev chromedriver | ||
+ | ng e2e --env chrome # with the GUI | ||
+ | ng e2e --env chrome-headless # without the GUI | ||
+ | </ | ||
+ | |||
+ | For more tips and documentation, | ||
+ | |||
+ | ==== OPAC Javascript Unit Tests ==== | ||
+ | |||
+ | To run tests for the javascript in the OPAC: | ||
+ | <code sh> | ||
+ | cd Open-ILS/ | ||
+ | npm i && npm run test | ||
+ | </ | ||
+ | |||
==== Perl Unit Tests ==== | ==== Perl Unit Tests ==== | ||
Line 159: | Line 222: | ||
At time of writing, there is no equivalent to " | At time of writing, there is no equivalent to " | ||
+ | |||
+ | {{tag> |
dev/contributing/qa.1644518097.txt.gz · Last modified: 2022/02/10 13:34 by 127.0.0.1