Considering stability is a must in this kind of projects, automating tests is a must. GitHub does have support for them on PRs, meaning that if I want to introduce a change that somehow breaks the login flow, my PR would have a red mark until I fix it.
Of course, there can be false positives and sometimes you need to ignore the test errors, but it can solve bugs before they appear!
There are two major types:
[ ] Unit tests, ran by Jest or Mocha+Chai. One-liners for little things like connecting to a MediaWiki server.
[ ] E2E tests, ran by Cypress. With Cypress we can automate the UI/UX of the end user and make sure all interactions work as expected.
Since this requires major work to decide on how we're going to approach testing, I believe this shouldn't be a priority for now, but should be before stable release.
Considering stability is a must in this kind of projects, automating tests is a must. GitHub does have support for them on PRs, meaning that if I want to introduce a change that somehow breaks the login flow, my PR would have a red mark until I fix it.
Of course, there can be false positives and sometimes you need to ignore the test errors, but it can solve bugs before they appear!
There are two major types:
Since this requires major work to decide on how we're going to approach testing, I believe this shouldn't be a priority for now, but should be before stable release.