angularjs - How to test promise in jasmine & karma -


i have test case follow:

it("should have valid structure", function(done){       var data;     module(app_module_name);      inject(function(_metaservice_){         metaservice = _metaservice_;                 });      metaservice.fetchentitymeta('person').then(function(data){         expect(data.status).tobe( true );         done();     });  }); 

but getting following error:

error: timeout of 2000ms exceeded. ensure done() callback being called in test. 

i have increased jasmine.default_timeout_interval not use. following code work.

    settimeout(function(){         expect(true).tobe(true);         done();     }, 5000); 

so, understanding having problem promise. question how can check data returned promise.

you not calling done() callback anywhere in test. change last statement to

metaservice.fetchentitymeta('person').then(function(data) {     expect(data.status).tobe(true);     done(); }); 

another option is

metaservice.fetchentitymeta('person').then(function(data) {     expect(data.status).tobe(true); }).then(done); 

Comments

Popular posts from this blog

Android : Making Listview full screen -

javascript - Parse JSON from the body of the POST -

javascript - Chrome Extension: Interacting with iframe embedded within popup -