Угловой юнит-тест для всплывающего окна
Я хочу написать угловой тестовый модуль для следующей функции,
$scope.addDataList = function () {
$scope.IsDefault = false;
$scope.IsPATsDefault = false;
$('#plAddEditCopy').modal('show');
}
addDataList
открывает всплывающее окно начальной загрузки. Как я использую SpyOn
в третьей строке функции $('#plAddEditCopy').modal('show')
?
2 ответа
Решение
Чтобы шпионить за модал вы можете сделать следующее
//spyOn(object, methodName) where object.method() is a function
spyOn($('#yourelementId'), 'modal')
expect($('#yourElementId').modal).toHaveBeenCalled()();
см. Жасмин шпионить
Попробуйте использовать следующее
Код JS
describe(function() {
var form;
beforeEach(function() {
html= $('<div id="plAddEditCopy" class="modal fade" role="dialog">'+
'<div class="modal-dialog"></div></div>');
$(document.body).append(html);
});
it('your test', function() {
// call your function
// so that will open modal and cover that code
// like
ctrl.addDataList();
expect();
})
afterEach(function() {
// remove it
});
});