Литерал объекта может указывать только известные свойства, а имя-свойства не существует - PullRequest
0 голосов
/ 30 ноября 2018

Я получаю ошибку ниже при выполнении теста для службы, который возвращает 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"
            }
...