#jestjs #apollo-client #apollo-boost
Вопрос:
У меня есть следующий модуль, в котором я хотел бы поиздеваться ApolloClient.query method
файл модуля
import { ApolloClient } from 'apollo-boost';
const client = new ApolloClient({
uri: requestUrl,
});
export async function getUsers(): Promise<UsersData[]> {
try {
const response = await client.query({});
// some logic
}
тестовый файл
Я хочу поиздеваться над сделанным звонком getUsers
, это моя попытка
import * as apolloBoost from 'apollo-boost';
import { mocked } from 'ts-jest/utils';
import { getUsers } from '../src/api/users.ts';
const apolloClientQueryMock: jest.Mock = jest.fn();
jest.mock('apollo-boost', () => ({
ApolloClient: jest.fn(),
}));
// @ts-ignore
mocked(apolloBoost.ApolloClient).mockImplementation(() => ({ query: apolloClientQueryMock } as unknown) as apolloBoost.ApolloClient);
describe('users access api', () => {
afterEach(() => {
jest.resetAllMocks();
});
it('successful get users', async () => {
apolloClientQueryMock.mockResolvedValue({
data: {}
});
const result = await getUsers();
});
});
Я продолжаю получать эту ошибку: TypeError: apollo_boost_1.default is not a constructor
Пожалуйста, посоветуйте.