в моем приложении, например, у меня есть
$rootScope.$emit('loggedin',data.user);
$rootScope.$on('loggedin', function(event,user) {
console.log('called');
});
в моем тесте
spyOn($rootScope, '$emit');
var response = {
"success":1,
"user":{
"id":1,
"email":"[email protected]",
"fullname":"Lama user",
"username":"lamauser",
"groups":["Users"]
},
"logged":1
};
$httpBackend.when('POST', '/api/v1/user').respond(200,response);
$scope.save();
$httpBackend.flush();
expect($scope.errors.length).toEqual(0);
expect($rootScope.$emit).toHaveBeenCalledWith('loggedin',response.user);
и приложение, и тест работают хорошо, но в тесте я никогда не вижу сообщение консоли вызвано
поэтому мне интересно, если во время теста $on никогда не срабатывает или я что-то пропустил.