Я пишу модульный тест для углового приложения, я хочу проверить, вызывается ли API «УДАЛИТЬ» (это удалит учетную запись), и я проверяю серверответ.
Если API успешен, API возвращает {status: "SUCCESS"}, если это был сбой {status: "FAILURE"}. после нажатия кнопки это вызовет API с использованием метода удаления.
it ('should delete account, if account already exist', ()=> {
let record = {
"accountid":"Acc444"
}
component.record = record;
fixture.detectChanges();
let deleteButtonDOM = fixture.debugElement.query(By.css('#deletebtn'));
deleteButtonDOM.triggerEventHandler('click','');
fixture.detectChanges();
const req = _HttpTestingController.expectOne('/api/accounts/'+record.accountid);//fails here
expect(req.request.method).toBe("DELETE");
req.flush({status:"SUCCESS"});
expect(component.consoleMessages.includes("POST: SUCCESS in /api/accounts")).toBeTruthy;
})
Тест не пройден Ошибка: ожидается один соответствующий запрос по критерию "Соответствие URL: / api / accounts / Acc444", не найден.
Хотя этот API существует и вызывается, когда я нажимаю на кнопку
component.ts
this.spinner.show();
this.http.delete('/api/accounts/' +this.record.accountid)
.subscribe(res => { ...})