У меня есть файл, который я хочу проверить, с http-client
, который должен быть смоделирован:
schema.js
:
const { http } = require('@foo/http-client');
.......
const result = await http.foo('another-service').get('graphql', {
query: `
{
SomeResolver(clientId: "${args.clientId}") {
id
start
end
}
}
`,
});
Мне нужно смоделировать result
.
schema.test.js
:
const sinon = require('sinon');
const mockHttp = sinon.mock(require('@foo/http-client'));
.........
mockHttp.expects('foo').returns({
get: (x,y) => {
// mock the response here
},
});
TypeError: Attempted to wrap undefined property foo as function
- ошибка с вышеприведенным, которая имеет смысл, поскольку http
равно destructured
.
Однако, если яизмените строку expects
на:
mockHttp.expects('http').returns
Я получаю ошибку TypeError: Attempted to wrap object property http as function
, что также имеет смысл, потому что http
является property
.
Как вы можете видеть, я 'Я совершенно новичок в Sinon
, но мой вопрос в том, как я могу высмеивать http.foo.get
, когда http
является property
?