Как мне провести модульное тестирование $ 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 OBJ
var arr = "book" : [ {
            "id" : "1",
            "name" : "Tomcat",
            "edition" : "9.1"
           }
          ]

Дайте мне знать, если кто-то хочет, чтобы я опубликовал$http сервис, который используется вторым контроллером.

ожидаемое поведение

Итак, в идеале, я бы хотел проверить каждый возможный сценарий, но что-то вроде ниже, которое затем может потратить:

expect(scope.book).toEqual(arr);
expect(scope.book).not.toEqual(undefined);

Спасибо всем!

Ответы на вопрос(1)

Ваш ответ на вопрос