It would also be good to rebalance the roles of unit and integration tests to conform to the standard testing pyramid. Currently, integration tests are over-parameterized and cover too many branches of the code, and unit tests are under-parameterized.
It would also be good to delineate end-to-end tests from integration tests. Currently, the "integration" tests are a bit of both.