Я хочу написать модульный тест для удаления записи из сетки.
Ниже приведен файл 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();
});
Пожалуйста, помогите мне в написании / улучшении модульных тестов для приведенного выше кода