Implement some tests (using react-testing-library and jest)
Update react to 17 (18 had some compatibility problems)
Accessibility improvements
Dark mode still has some visual bugs I need to fix
Other Notes/Technical Details
The tests right now are pretty basic, mostly "does the page load and display something more or less probably correct", for /, /projects, /project, and /mine. Ideally, we would have tests for more components and pages, as well as making sure the site responds properly to user interaction.
Writing more complex tests might require changes to the tested components to make sure they show up properly in the accessibility tree, however I think part of this problem is that chakra does a lot of accessibility things automagically that isn't properly reflected in the jsdom used by the test environment. I'm not sure how to fix this, I did some research and wasn't able to find other people having this problem which would suggest its something with how we have chakra/topo/rtl/jest configured.
Some of the tests query the live gql server, which feels like bad practice but I think makes sense here, since we'd want to know when problems come up if we make a change to the schema or something. I think a good pattern would be to test individual components with curated sample data, and test entire pages with live gql queries. Open to thoughts on this.
I also fixed a bug that had been bothering me for a while with filtering, where it didn't properly respect type=all
Key Points:
Other Notes/Technical Details
/
,/projects
,/project
, and/mine
. Ideally, we would have tests for more components and pages, as well as making sure the site responds properly to user interaction.type=all