Я вижу 2 вопроса:
1 - Вы не возвращаете обещание client.query
, поэтому await fetchSomething
в тесте фактически не ждет возврата этого обещания, прежде чем перейти к expect
. return client.query
должно это исправить.
2 - Вам также может понадобиться внедрить клиента в создателя действия. redux-thunk
имеет опцию withExtraArgument
, которая позволяет вам сделать это. Когда вы создаете свое хранилище резервов и применяете промежуточное программное обеспечение, вы можете передать фактический клиент Apollo, а затем в своих тестах вы можете передать свой client
с поддельным query
:
await fetchSomething('xxx')(dispatch, _, client); // the 2nd argument (getState) is unused
https://github.com/reduxjs/redux-thunk