Как сделать юнит-тестирование по удалению Http в angular 6? - PullRequest
0 голосов
/ 09 октября 2018

Я хочу написать модульный тест для удаления записи из сетки.

Ниже приведен файл delete.component.ts, в котором показан метод deleteRecord

deleteRecord(id: string): void {
const result = confirm("Are you sure you want to delete record?");
if (result) {
  this.deleteService.deleteRecord(id).subscribe(() => {
    const index = this.gridDetails.findIndex
      ((i) => i.id === id);
    this.gridDetails.splice(index, 1);
    alert("Deleted successfully");
  }, (error: ErrorResponse) => {
    alert("Delete failed");
  });
}}

Ниже - delete.service.tsфайл

deleteRecord(id: string): Observable<void> {
return this.http.delete<void>('http:/xyz/server/api/blogs/' + id);}

Ниже приведен файл delete.component.spec.ts

it('should delete record from grid on click of ok', () => {
spyOn(component, 'deleteRecord').and.callThrough();
spyOn(window, 'confirm').and.returnValue(true);
component.deleteRecord(mockDeleteService.id);
expect(component.deleteRecord).toHaveBeenCalled();
});

it('should not delete Record from grid on click of cancel', () => {
spyOn(component, 'deleteRecord').and.callThrough();
spyOn(window, 'confirm').and.returnValue(false);
expect(component.deleteRecord).not.toHaveBeenCalled();
});

Пожалуйста, помогите мне в написании / улучшении модульных тестов для приведенного выше кода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...