Я получаю ошибку ниже при выполнении теста для службы, который возвращает JSON-ответ в угловых (1.6.3).
ОШИБКА в ../my-request.component.spec.ts(30,7): ошибка TS2345: аргумент типа '{ALL: строка;ЗАБРОНИРОВАНО: строка;IN_PROCESS: строка;NEED_INFO: строка;ЗАВЕРШЕНО: строка;} 'нельзя назначить параметру типа «Ожидаемый>».
Литерал объекта может указывать только известные свойства, а «ВСЕ» не существует в типе «Ожидаемый>».
ниже:моя тестовая спецификация
it('#myrequest should call endpoint and return it\'s result', (done) => {
backend.connections.subscribe((connection: MockConnection) => {
expect(connection.request.method).toEqual(RequestMethod.Get);
expect(connection.request.url).toEqual('http://localhost:3000/myrequests');
let options = new ResponseOptions({
body: JSON.stringify({
ALL: "10",
RESERVED: "2",
IN_PROCESS: "2",
NEED_INFO: "2",
COMPLETED: "2"
})
});
connection.mockRespond(new Response(options));
});
service
.getMyRequests()
.subscribe((response) => {
expect(response).toEqual({
"ALL": "10",
"RESERVED": "2",
"IN_PROCESS": "2",
"NEED_INFO": "2",
"COMPLETED": "2"
});
done();
});
});
service.ts
getMyRequests(): Observable<any> {
return this.http.get(this._url)
.map(response => response.json());
}
ответ от API
{
"ALL": "10",
"RESERVED": "2",
"IN_PROCESS": "2",
"NEED_INFO": "2",
"COMPLETED": "2"
}