JavaScript гуру, что мне здесь не хватает?
Простой тестовый сценарий выглядит следующим образом:
import * as request from "request-promise-native";
export class Publisher {
name : string = "IRocking Publisher";
async publishAsync(): Promise<PublisherResponse> {
var publisherResponse : PublisherResponse = PublisherResponse.EmptyResponse;
try {
let response = await request.get("https://jsonplaceholder.typicode.com/todos/1");
console.debug("Promise has been resolved. Result is:")
console.debug(response)
console.debug(response.userId)
publisherResponse = new PublisherResponse(file, this.name, true, "");
}
catch (error) {
publisherResponse = new PublisherResponse(file, this.name, false, error);
}
return Promise.resolve<PublisherResponse>(publisherResponse);
}
}
С сопровождающим тестом Jest следующим образом:
test('Should publish a valid single document asynchronously', async () => {
// Arrange
let sut = new Publisher();
let expectedResponse = new PublisherResponse(documentToPublish, sut.name, true, "");
// Act
let actualResponse = await sut.publishAsync(new PublicationContext(), documentToPublish);
// Assert
expect(actualResponse).toEqual(expectedResponse);
});
Когда я запускаю тест, я вижу данные, возвращаемые из службы, как
{
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}
Но если я пытаюсь получить доступ к свойству данных, например "userId", я получаю неопределенное значение. Что мне не хватает?
Кроме того, как я могу получить другие коды состояния кроме 200 из этого запроса?