Я начинаю узнавать, как делать unitTesting с жасмином. Я много читал в Интернете и так, но я не могу решить свою проблему.uibModal провайдер неизвестный unitTest
У меня есть директива с контроллером. Этот контроллер использует службу $ uibModal для открытия модальности при щелчке элемента. Я пытаюсь ввести эту услугу из своего теста, но я не могу. Я прочитал много тем, говорящих, что должен передать экземпляр. Я пытаюсь это сделать, но я не могу. Пожалуйста, любая помощь будет оценена по достоинству.
.controller('myController', ['$scope', '$uibModal', function($scope, $uibModal){
var self = this;
//OTHER CODE
self.openMyModal = function(dataInput) {
var modalInstance = $uibModal.open({
animation: true,
bindToController: true,
templateUrl: 'app/myComponent/modals/component-modal.html',
controllerAs: 'componentModalCtrl',
controller: 'componentModalController',
windowClass: 'semi-modal semi-modal--large',
scope: $scope
})
}
//OTHER CODE
}
Это тест, где я пытаюсь издеваться над этим модалом.
beforeEach(function(){
angular.mock.module('templates');
angular.mock.module('app.components.myComponent');
angular.mock.inject(function($compile, $rootScope, $templateCache, $controller){
scope = $rootScope;
modalInstance = { close: function(){}, dismiss: function(){}, open: function(){}
};
//Initializing element and doing compile and digest
controller = $controller('myController', {$scope: scope, $uibModal: modalInstance});
})
Я получаю ошибку
Неизвестный поставщик: $ uibModalProvider < - $ uibModal.
Могу ли я внедрить эту услугу по-другому? Что я делаю неправильно?
P.S: Я прочитал это Testing AngularUI Bootstrap modal instance controller
Angular ui bootstrap $uibModalInstance breaks down unit tests
Mocking $modal in AngularJS unit tests