Why do I receive error ... unexpected request: GET /internalapi/quotes Why do I receive error ... unexpected request: GET /internalapi/quotes angularjs angularjs

Why do I receive error ... unexpected request: GET /internalapi/quotes


You need to tell $httpBackend to expect a GET request.

describe("MyService", function () {   beforeEach(module('MyApp'));   beforeEach(module("restangular"));   var Restangular, ms;    beforeEach(inject(function (_Restangular_, MyService) {        ms = MyService;        Restangular = _Restangular_;    }));    it("retrieveQuotes should be defined", function () {        expect(ms.retrieveQuotes).toBeDefined();    });    it("retrieveQuotes should return array of quotes", inject(function ($httpBackend) {        $httpBackend.whenGET("internalapi/quotes").respond({ hello: 'World' });        //expect a get request to "internalapi/quotes"        $httpBackend.expectGET("internalapi/quotes");        ms.retrieveQuotes();        $httpBackend.flush();    }));});

Alternatively you can put your respond() on your expectGET(). I prefer to put my whenGET() statements in a beforeEach() that way I do not have to define the response within every test.

        //expect a get request to "internalapi/quotes"        $httpBackend.expectGET("internalapi/quotes").respond({ hello: 'World' });        ms.retrieveQuotes();        $httpBackend.flush(); 


I had the same problem as you guys. My solution was to add a '/' at the start of the URL-parameter of the .expectGET. Using your example:

$httpBackend.expectGET("/internalapi/quotes").respond({ hello: 'world'})

Best of luck