iodide-project / iodide-project/iodide
Add some basic integration tests to verify that the notebook and server views are usable
- Dominant language
- JavaScript
- Stars
- 1.5k
- Forks
- 145
- PR merge metrics
- No merged PRs in 30d
Description
We currently have some server-side user tests which verify that the server views return valid html with the expected json/script content, but no real verification that the end result is usable by the browser. Today that resulted in a seemingly-innocuous code mirror change (#1341) breaking our deployment.
We should add some basic selenium tests that verify things are still working end-to-end from the point of view of a Firefox and Chrome client. To start with, I would recommend minimal tests for all the server side views, including the notebook. Even just testing that the basic divs that you'd expect are in place would go a long way towards giving us confidence that (e.g.) a renovate PR didn't break something important.
We could use the treeherder selenium tests as a model for this (the original set just did as above, though it seems like they have since been expanded/extended a fair bit):
https://github.com/mozilla/treeherder/blob/45b2493d06e279a0ed0add0e04bfbb9d71ca6510/.travis.yml#L55
https://github.com/mozilla/treeherder/tree/45b2493d06e279a0ed0add0e04bfbb9d71ca6510/tests/selenium
Contributor guide
Research direction
Start by reviewing the existing server-side user tests, then use the referenced treeherder .travis.yml and tests/selenium examples as a model. Done means adding basic Selenium coverage for the server-side views, including the notebook, and verifying expected elements in both Firefox and Chrome.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100