mgr/dashboard: add visual regression testing
Currently cypress framework supports visual regression testing (comparing screenshots of a webpage/subpart under test with a given reference screenshot).
This will help reduce issues with styling/brandind changes and reduce the needs of manual testing & validation.Downsides of this approach:
- As already noted by Tiago, is that most pages are data driven, and hence dynamically changing. That makes hard to compare to fixed screenshots.
- We can either test isolated/static elements of webpages (login page, about box, navigation, forms, ...)
- Provide a given threshold for the matching algorithm (this would require manual tuning and hence is subject to making the test flapping)
- Test isolated elements without back-end data: allowing dashboard to instantiate components (blank table, static landing page, ...)
- Ensure the backend provides 'deterministic data' (feasible?)
- Hide changing data by tagging those with some class (.dynamic) and making those invisible or deterministic.