Модульная функция модульного тестирования Angularjs, отображаемая внутри модального компонента - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть следующий код модального компонента

 angular.module('components')
  .component('modal', {
    bindings:{
      modalInstance: '<',
      resolve: '=',
      dismiss: '&',
      close: '&'
    },
    controller: controller,
    templateUrl: 'template.html'
});

controller.$inject = [];
function controller() {
  var ctrl = this;
  ctrl.closeModal = closeModal;

  ctrl.$onInit = function(){

  };

  ctrl.modalInstance.rendered.then(function(){
      testFunction();
  });
}

Чтобы открыть вышеупомянутый модал, я использую

 $uibModal.open({
      component: 'modal',
      backdrop: 'static'
    });

Модал работает отлично, но моя проблема в модульном тестировании.Когда я пытаюсь выполнить юнит-тестирование, я получаю

TypeError: undefined is not a function (evaluating 'ctrl.modalInstance.rendered.then

Я пытался протестировать, используя следующий код

var modal = {
    rendered: jasmine.createSpy('modal.rendered').and.returnValue({ result: { then: jasmine.createSpy('modal.result.then') } })
};

var injectables = {
};

var bindings = {
  modalInstance : modal,
  resolve : resolve
};

controller = $componentController('modal', injectables, bindings);
controller.$onInit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...