This test should be stronger.  Currently, it doesn't test that $http.defaults.cache is used.

- before the 1st request, populate $http.defaults.cache with data and ensure that the cached content is returned.

The "cache.remove" test is secondary, since that is testing the cache object instead of the $http object.

There is no need to delete the $http.defaults.cache, it should be cleaned up automatically.