0

モックしたい次のモジュールがあります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

お知らせ下さい。

4

0 に答える 0