10

When I try to use $httpBackend.flush(); I get error TypeError: $browser.cookies is not a function. I can't find any information about this kind of error and any solutions.

describe("someText", function() {
    var $httpBackend;
    var someManager;
    var authRequestHandler;

    var dataMockup = [];

    beforeEach(function(){
        module('app');

        inject(function($injector){
            $httpBackend = $injector.get('$httpBackend');
            someManager = $injector.get('someManager');

            authRequestHandler = $httpBackend.when('GET', 'someUrl.php')
                .respond(dataMockup);
        });
    });

    it('test first action', function() {
        $httpBackend.expectGET('someUrl.php');
        messageManager.loadData();
        $httpBackend.flush(); // There i got error
    });
});
  • Angular: 1.3.15
  • Jasmine: 2.3.4
gregurco
  • 163
  • 1
  • 7
  • Make sure you have the right version of angular mocks file as well. https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-mocks.js – PSL May 27 '15 at 16:17
  • 1
    @PSL, thanks. I didn't noticed that. – gregurco May 27 '15 at 16:21

1 Answers1

18

I believe you are using the angular mocks for version 1.4.x, and your code is using angular 1.3.15. Please check that you are using the mocks for the version you are implementing in your application. Also it is always good to provide your jasmine test configuration file.

taxicala
  • 21,408
  • 7
  • 37
  • 66