I'm currently trying to test a factory which calls another factory using ngResource. But I can't figure it out. I'm stuck on this unit test. Any help will be great !
I get this error "Unexpected request: GET /api/eventslot/type No more request expected"
My factory :
factory('EventslotsManager', ['$rootScope',
'Eventslots','Rule', 'Notification',
function($rootScope, Eventslots, Rule, Notification) {
var eventslot_mgr = {
Eventslots: Eventslots,
getEventslot: getEventslot
};
return eventslot_mgr;
function getEventslot(params) {
return Eventslots.query(params).$promise.then(function (response) {
var event = response.length && response[0] ;
if (event.original_event) {
event.original_event = Eventslots.query({id: event.original_event}, function (response) {
event.original_event = response.length && response[0];
event.rule = event.original_event.rule;
});
} else {
event.rule = Rule;
}
return event;
});
}
My service :
.factory('Eventslots', ['$resource',
function ($resource) {
return $resource('/api/eventslot/:id', {id: '@id', id_type: '@id_type'},
{}
);
}])
The unit test:
beforeEach(module('ionic', 'ngResource', 'ui-notification'));
beforeEach(module('location_services'));
beforeEach(angular.mock.module('live_services'));
beforeEach(inject(function ($httpBackend, _EventslotsManager_, _Eventslots_) {
httpBackend = $httpBackend;
EventslotsManager = _EventslotsManager_;
Eventslots = _Eventslots_;
}));
it('getEventslot function, should return an array of 1', function () {
expect(EventslotsManager.getEventslot).toBeDefined();
httpBackend.whenGET('/api/eventslot/1').respond(responseOne);
var event = EventslotsManager.getEventslot({id: 1});
httpBackend.flush();
expect(event[0].name).toBe('type1');
});
Aucun commentaire:
Enregistrer un commentaire