Why is $httpBackend.flush() resulting in an "Unexpected request" error for a UI template?

I have simplified a jasmine test here which should mock FooResource.query(). I know in this example nothing is done with the data but the point is when I do $httpBackend.flush() I get an error about a UI template and I can’t figure out why. :confused:

describe("foo", function() {
  beforeEach(module("acme"));
  beforeEach(inject(function($injector) {
    var $httpBackend, FooResource;
    $httpBackend = $injector.get('$httpBackend');
    FooResource = $injector.get('FooResource');
    $httpBackend.when('GET', /.*\/api\/genre/).respond({});
    console.log('about to query genres');
    FooResource.query();
    $httpBackend.flush();
  }));
  it("should do foo", function() {
    return console.log('foo');
  });
});

Results in this error:

// Error: Unexpected request: GET templates/createAccountWithFoo.html
// 	No more request expected
// 	    at $httpBackend (/Users/foo/Documents/projects/acmeProject/git_working_copy/acme/www/lib/angular-mocks/angular-mocks.js:1226:9)
// 	    at sendReq (/Users/foo/Documents/projects/acmeProject/git_working_copy/acme/www/lib/ionic/js/ionic.bundle.js:17911:9)
// 	    at $get.serverRequest (/Users/foo/Documents/projects/acmeProject/git_working_copy/acme/www/lib/ionic/js/ionic.bundle.js:17627:16)
// 	    at processQueue (/Users/foo/Documents/projects/acmeProject/git_working_copy/acme/www/lib/ionic/js/ionic.bundle.js:21472:27)
// 	    at /Users/foo/Documents/projects/acmeProject/git_working_copy/acme/www/lib/ionic/js/ionic.bundle.js:21488:27
// 	    at Scope.$get.Scope.$eval (/Users/foo/Documents/projects/acmeProject/git_working_copy/acme/www/lib/ionic/js/ionic.bundle.js:22684:28)
// 	    at Scope.$get.Scope.$digest (/Users/foo/Documents/projects/acmeProject/git_working_copy/acme/www/lib/ionic/js/ionic.bundle.js:22500:31)
// 	    at Function.$httpBackend.flush (/Users/foo/Documents/projects/acmeProject/git_working_copy/acme/www/lib/angular-mocks/angular-mocks.js:1525:38)
// 	    at Object.<anonymous> (/Users/foo/Documents/projects/acmeProject/git_working_copy/acme/www/js/services/acmeProgramHelper.spec.js:11:18)
// 	    at Object.invoke (/Users/foo/Documents/projects/acmeProject/git_working_copy/acme/www/lib/ionic/js/ionic.bundle.js:12468:17)
// 	Error: Declaration Location
// 	    at window.inject.angular.mock.inject (/Users/foo/Documents/projects/acmeProject/git_working_copy/acme/www/lib/angular-mocks/angular-mocks.js:2321:25)
// 	    at Suite.<anonymous> (/Users/foo/Documents/projects/acmeProject/git_working_copy/acme/www/js/services/acmeProgramHelper.spec.js:4:14)
// 	    at /Users/foo/Documents/projects/acmeProject/git_working_copy/acme/www/js/services/acmeProgramHelper.spec.js:2:1

Found this fix (by jdart at https://github.com/angular-ui/ui-router/issues/212) : whitelist all templates:

 $httpBackend.whenGET(/views.*/).respond(200, '');

More detail: