Как получить доступ или добавить шаблонную ссылочную переменную из углового в жасмин - PullRequest
0 голосов
/ 03 июля 2018

Как мне получить доступ к шаблонной ссылке / переменной в Jasmine?

form.component.html

<form #f="ngForm" class="form form-profession" novalidate>...

<div class="error-group" *ngIf="f.invalid">error</div>

form.component.ts

export class FormComponent implements OnInit {

  @ViewChild('f') f: NgForm;

  constructor(
    private router: Router
  ) { }

  ngOnInit() {
  }

onSubmit(f) {
    if (f.valid) {
      // do stuff
    }
  }

form.component.spec.ts

it('should display errors when form is invalid', () => {
    fixture.componentInstance.f.invalid = true;
    expect(fixture.nativeElement.querySelector('.error-group')).not.toBeNull();
  });

Я получаю эту ошибку msgstr "[ts] Невозможно присвоить 'valid', потому что это свойство константы или только для чтения."

1 Ответ

0 голосов
/ 03 июля 2018

Попробуйте сделать это.

 it('should show error message when form is invalid', () => {
    const form = fixture.componentInstance.f;  // get the form instance through the component.
    form.form.setErrors({required: true}); // making the form invalid

    fixture.detectChanges(); // trigger a change detection cycle for the component

    expect(fixture.nativeElement.querySelector('.error-group').textContent).toContain('sss');

    expect(form.valid).toBeFalsy();
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...