Как мне провести модульное тестирование $ scope.broadcast, $ scope. $ При использовании Jasmine
Я новичок в мире AngularJs / NodeJs, так что простите, если это основной вопрос для некоторых.
Итак, в двух словах, у меня есть два контроллера, первый контроллер$broadcast
«Id» и второй контроллер выбирает, что Id с$on
а затем передает этот идентификатор промежуточномуservice
, который делает$http
вызов ajax и возвращает одинBook
объект.
Как мне провести модульное тестирование $ scope.broadcast, $ scope. $ При использовании Jasmine
firstCtrl.controller('firstCtrl', function($scope, ...){
$scope.selectGridRow = function() {
if($scope.selectedRows[0].total !=0)
$scope.$broadcast('id', $scope.selectedRows[0].id);//Just single plain ID
};
});
secondCtrl.controller('secondCtrl',
function($scope, bookService) {
$scope.$on('id', function(event, id) {
bookService.getBookDetail(id).then(function(d) {
$scope.book = d.book;
});
});
});
ожидаемый JSON OBJvar arr = "book" : [ {
"id" : "1",
"name" : "Tomcat",
"edition" : "9.1"
}
]
Дайте мне знать, если кто-то хочет, чтобы я опубликовал$http
сервис, который используется вторым контроллером.
Итак, в идеале, я бы хотел проверить каждый возможный сценарий, но что-то вроде ниже, которое затем может потратить:
expect(scope.book).toEqual(arr);
expect(scope.book).not.toEqual(undefined);
Спасибо всем!