У меня есть директива, которая строит форму:Значение параметра Вид поле ввода в единичном испытании угловой директивы формы
app.directive('config', function() {
return {
restrict: 'E',
scope: {
data: '='
},
template: '<form name="configForm">' +
'<input type="number" max="10" ng-model="config.item" name="configItem"/>' +
'<div class="form-error" ng-show="configForm.$error.max">Error</div>' +
'</form>',
controller: 'ConfigDirectiveController',
};
});
То, что я хочу сделать, это проверить с помощью теста блока, что сообщение об ошибке будет появляется с некоторым вводом. С угловым 1.2 я мог бы изменить $ scope.config.item, и он обновил бы значение представления и покажет ошибку.
Как можно сказать, с угловым 1.3, если модель не прошла проверку, значение вида не обновляется ... поэтому мне нужно изменить значение представления, чтобы убедиться, что сообщение об ошибке появилось.
Как я могу получить доступ к входу «configItem», чтобы установить значение представления, чтобы убедиться, что сообщение об ошибке появится?
Edited показать модульное тестирование
Я вижу, что значение установлено правильно, но ошибка все еще имеет нг скрытие приложенное к метке. Когда я просмотр страницы и вручную изменив значение входного сигнала, то нг скрытие будет удалено, и ошибка будет отображаться, если я вхожу в нечто большее, чем 10.
beforeEach(inject(function($compile, $rootScope) {
element = angular.element('<config data="myData"></config>');
$scope = $rootScope.$new();
$scope.myData = {};
element = $compile(element)($scope);
}));
it('should warn that we have a large number', function() {
var input = element.find('[name="configItem"]')[0];
$scope.$apply(function() {
angular.element(input).val('9000000001');
});
errors = element.find('[class="form-error ng-binding"]');
expect(errors.length).toBe(1);
})
Я пометить его как ответил, как это получить меня неполный путь там. Он модифицирует входной элемент, однако он не вызывает проверку. Скорее это не вызывает configForm. $ Error.max будет помечен как true ... так что моя ошибка по-прежнему скрыта. – nathasm
Опубликуйте свой новый юнит-тест, и я посмотрю :) –
Обновлен OP с примерным модульным тестом – nathasm