Я начинаю с Кармы и Жасмина, и у меня есть проблема.Как проверить элемент вида в угловом с кармой и жасмином?
Html:
<input id="dateTimePicker" ng-change="vm.enableConfirm = vm.matchDate == null" ng-click="vm.openCalendar($event, prop)" type="text" datetime-picker="dd MM yyyy HH:mm" ng-model="vm.matchDate" is-open="vm.isOpen" />
Я хочу, чтобы проверить, если календарь открывается, когда нг-клик выполняется.
код контроллера:
vm.openCalendar = function (e) {
e.preventDefault();
e.stopPropagation();
vm.isOpen = true;
};
Spec.js:
...
it('Check if openCalendar opens the calendar', function() {
angular.element(document.querySelectorAll('#dateTimePicker')).triggerHandler('click');
controller.openCalendar();
//nothing yet
});
...
Я получаю ошибку, что openCalendar не получает параметр события. Как правильно проверить эту функцию контроллера?
и как это сделать, чтобы календарь был открыт в представлении? –
Не следует. Единичные тесты должны выполняться изолированно. Я обновил ответ, чтобы сделать его более понятным. Все поведение можно протестировать в тесте Protractor e2e, но в модульных тестах (Karma) мы тестируем их отдельно, строчно. – estus