Я работаю над приложением Angular и занимаюсь модульным тестом в Angular с Жасмином.
У меня есть этот кусок кода:
/** Gets the case by id */
getCase(id: number, spinnerMessage?: string) {
return this.http.get<CaseBaseModel>(`${this.api}/${id}`, spinnerMessage).pipe(map(c => new CaseBaseModel(c)));
}
И у меня есть этот модульtest:
it('should get case by id', () => {
const spy = spyOn(service, 'getCase').and.callThrough();
// tslint:disable-next-line:no-commented-code
const mockData = new CaseBaseModel({
id: 100001075,
dateSubmitted: '',
owner: caseOwnerEnum.caseManager,
reference: 'ksjhkjshdf',
status: caseStatusEnum.submitted,
type: caseTypeEnum.revisionRequest,
});
service.getCase(mockData.id, 'spinner').subscribe(r => expect(r).toEqual(100001075));
expect(spy).toHaveBeenCalledWith(mockData.id, 'spinner');
// tslint:disable-next-line:no-commented-code
// expect(mockData.id).toEqual(100001075);
});
Но в этом фрагменте кода:
/** Gets the case by id */
getCase(id: number, spinnerMessage?: string) {
return this.http.get<CaseBaseModel>(`${this.api}/${id}`, spinnerMessage).pipe(map(c => new CaseBaseModel(c)));
}
этот фрагмент кода:
c => new CaseBaseModel(c)));
все еще красный.
Так как это решить?
Спасибо.
Это класс CodeBaseModel:
export class CaseBaseModel extends CaseReferenceModel {
id?: number;
status: caseStatusEnum;
substatus?: number;
verdict?: caseVerdictEnum;
owner: caseOwnerEnum;
dateSubmitted: string;
dateSubmittedFormatted?: string;
dateClosed?: string;
dateClosedFormatted?: string;
comment?: string;
comments?: CaseCommentModel[];
sample?: boolean;
documentList?: DocumentListModel;
constructor(model: CaseBaseModel) {
super(model);
}
getResourceForStatus?(resources, listValues: ListValueModel[]) {
let resource: string;
if (this.status === caseStatusEnum.inProgress) {
const filteredListValues = listValues.filter(lv => lv.id === this.substatus);
resource = filteredListValues.length > 0 ? filteredListValues[0].value : resources.geenZaakStatus;
} else {
resource = resources[enumResourcesModel[this.status]];
}
return resource;
}
}