Add tests for untested code

* Test `BaseIntegrationTestCase.render_to_str` and `BaseIntegrationTestCase.access_view_and_render_response`.
* Refactor test_integration.py to take advantage of pytest fixtures and decouple the tested TestCases from the test methods.
* Improve coverage to 100%.
It's actually really nice - it helps us catch cases where we're relying on a database access and shouldn't be.