Использование машинописного текста jest-when и mockResolvedValue - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь использовать jest-when для макетирования запросов, сделанных с помощью Ax ios, но у меня возникают проблемы с типизацией Typescript при попытке использовать mockResolvedValue. См. Примеры фрагментов ниже:

jest.mock('axios')

const mockedAxios = axios as jest.Mocked<typeof axios>;

// doesn't work
when(mockedAxios.get)
    .calledWith('http://some-api')
    .mockResolvedValue('foo'); // complains that "Argument of type '"foo"' is not assignable to parameter of type 'never'.ts(2345)"

// this seems to work w/ the generic type hint, but is super ugly...
when<Promise<unknown>, any[]>(mockedAxios.get)
    .calledWith('http://some-api')
    .mockResolvedValue('foo');

Я думаю, что это может иметь какое-то отношение к when(mockedAxios.get) разрешению до WhenMock<unknown, [string, AxiosRequestConfig?]> (T конкретно неизвестен), но я немного озадачен.

Любой идеи или предложения?

Спасибо

...