open-austin / indigent-defense-stats

A web scraper for collecting and processing public case records from sites using Tyler Technology's Odyssey court records database software.
MIT License
16 stars 6 forks source link

Implement unit testing #95

Open nicolassaw opened 2 months ago

nicolassaw commented 2 months ago

Problem There is no quick way to test specific pieces of the code without running the code from the beginning and creating test data (ie. HTML and json files) to work with. Unit tests would provide built-in ways to do so.

Goal Add unit testing to the code (python documentation). Ensure that your test HTML or json files are redacted and do not store real person data. Store any test files in the resources folder.

nicolassaw commented 1 month ago

Design unit tests for these modules:

Next step ideas for unit testing:

nicolassaw commented 3 weeks ago

We are rethinking how we're doing unit tests and are making them more modular. This means that this is blocked by #93 in so far as each of the functions needs to be built out for each major module in order to write the unit tests for each of the functions. But not all of the modules need to be written to begin unit testing on any individually, just the one being tested.

In this pull request, the scraper has been rewritten to have modules and many of the scraper unit tests have been written, but not all of them. Those last scraper unit tests can be written.

But writing unit tests for parser, cleaner, and updater is blocked by that module being rewritten in #93.