I am trying to set up a unit test for AngularJS controller which includes a service that calls $http.get
method. However, even though I use $httpBackend.expectGET
before $httpBackend.flush()
, app is trying to
GET
template HTML resources, so it gives an unexpected request error.
beforeEach(inject(function($injector){
controller = $injector.get('$controller');
scope = $injector.get('$rootScope').$new();
httpBackend = $injector.get('$httpBackend');
httpBackend.whenGET(UrlPrefix+"/promotions/default.json").respond("yeh");
}));
it("should fetch promotions", function() {
httpBackend.expectGET(UrlPrefix+"/promotions/default.json") ;
Controller = controller('promotionsController',{
$scope : scope
});
scope.getPromotions();
httpBackend.flush();
});
});
I am getting:
Unexpected request : GET ./template/loader/app-loader.html
This is my template that should be loaded before the controller. Do you have any idea how to bypass template GETS?