Dry tests

Without this when a test fails by not matching the mock, all the following
tests fail because they mock hasn't been met yet. This could also lead to
hard to debug issues/false positives in the future. This will automatically
reset the mock after each test, preventing these issues.