Модульный тест по проверенному шаблону - PullRequest
0 голосов
/ 06 ноября 2019

Как я могу протестировать пользовательский валидатор, который получает одно свойство?

@Directive({
    selector: '[customValidator][ngModel]',
    providers: [{ provide: NG_VALIDATORS, useExisting: CustomValidator, multi: true }]
})
export class CustomValidator implements Validator {

    @Input() min: number;

    constructor() {}

    validate(control: AbstractControl): ValidationErrors {
        return  control.value < this.min ? { error: true } : null;
    }
}

Я попытался сделать это программно, создав экземпляр класса CustomValidator, а затем передать новый элемент управления формой, но я получаю ошибку, когда япопробуйте добавить свойство min в FormControl.

it('should set error on value less than min', () => {
        let customValidator = new CustonValidator();
        let input = new FormControl(1);
        input.min = 10; ///Error here
        ...
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...