Мне нужно проверить сравнение со значением.Я попробовал этот пример:
У меня есть этот component.ts
export class AppComponent implements OnInit {
title= 'Angular'
constructor() { }
ngOnInit() {
}
}
И в component.spec.ts
it(`should have as title 'Angular'`, async(() => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app.title).toEqual('Angular');
}));
it(`should have as title 'Angular'`, async(() => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app.title).toEqual('Angular1');
}));
Я следовал этому примеру, которыйпросто.Но теперь мне нужно сравнить значение моего ответа с некоторым значением
Step1.Компонент HTML
<div id="container">
<div id="login_card_container">
<div id="login_card" class="card col s12">
<form [formGroup]="loginForm" (ngSubmit)="onLogin()" class="col s12">
<h1 id="form_title">Login</h1>
<div class="row">
<div class="input-field col s12">
<input formControlName="username" id="username" type="text" class="validate" [ngClass]="{invalid: invalidCredentials}">
<label for="username">Username</label>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input formControlName="password" id="password" type="password" class="validate" [ngClass]="{invalid: invalidCredentials}">
<label for="password" data-error="Your username/password combination is invalid">Password</label>
</div>
</div>
<div id="login_button_container" class="row">
<button id="login_button" type="submit" class="btn waves-effect waves-light" [disabled]="!loginForm.valid">
<i class="fa fa-sign-in left"></i>
Login
</button>
</div>
</form>
</div>
</div>
</div>
Шаг 2: Компонент TS
onLogin() {
this.loading = true;
this.ws.login(
this.loginForm.controls['username'].value,
this.loginForm.controls['password'].value)
.subscribe(
result => {
if (result === true) {
} else {
this.loading = false;
this.invalidCredentials = true;
}
});
}
Это моя первая попытка, и покажите эту ошибку
Ожидаемый шпион в журнале равен«Аутентифицированный сбой».
Фактически это успешно, потому что ответ от сервиса - это сообщение Authentificated failed
it('should notify in console on form submit', () => {
spyOn(console, 'log');
component.loginForm.controls['username'].setValue('admin');
component.loginForm.controls['password'].setValue('11');
fixture.debugElement.query(By.css('form')).triggerEventHandler('ngSubmit', null);
fixture.detectChanges()
expect(console.log).toEqual('Authentificated failed');
});
В этом коде я хочу toEqual
ответ сервиса с('Authentificated failed')
как в первом примере
Можете ли вы посоветовать, как сравнить result
сервис формы с некоторым текстом?