1
Я строю компонент LoginForm со следующим интерфейсом:Угловое 2 RC5 Тестирование detectChanges не работает
<login-form onlogin="submit()"></login-form>
И это тестирование кода:
it("Should send credentials out of the component", async(() => {
TestBed.compileComponents().then(() => {
const fixture = TestBed.createComponent(LoginFormComponent);
let component = fixture.componentInstance;
spyOn(component.onlogin, "emit");
let domRef = fixture.nativeElement;
domRef.querySelector("input[name='username']").value = "[email protected]";
domRef.querySelector("input[name='password']").value = '1234';
domRef.querySelector("form").dispatchEvent(new Event('submit'));
fixture.detectChanges();
let expectedSubmitData:UserCredentials = {
username: "[email protected]",
password: "1234"
};
expect(component.onlogin.emit).toHaveBeenCalledWith(expectedSubmitData);
});
}));
Я получаю это сообщение:
Expected spy emit to have been called with [ Object({ username: '[email protected]', password: '1234' }) ] but actual calls were [ Object({ username: '', password: '' }) ]
Итак, каков способ заполнения входных значений, и модель обнаруживает эти изменения?