В настоящее время я создал функциональный компонент NewStoreTable, используя перехватчики реакции для возврата таблицы новых хранилищ из вызова API. Здесь используется хук useEffect, который получает необходимые хранилища, а затем setStores.
const [stores, setStores] = useState<INewStore[]>([])
useEffect(() => {
getNewStores()
.then((result) => result.length !== 0 && setStores(result))
})
Я создал модульный тест jest / ferme для проверки ответа от фиктивного API. Затем я использовал метод setImmediate для обновления newStoreTable.
const newStoreTable = mount(<NewStoreTable />)
setImmediate(() => {
newStoreTable.update()
try {
const result = newStoreTable.find('TableRow')
const rows = result.map((row) => row)
expect(rows.length).toEqual(2)
} catch (e) {
return fail(e)
}
done()
})
Ожидается, что setStores будет использовать подключаемый useEffect на основе результата, который он получает от макетного API, который вызывается правильно, а затем должен дать ожидаемый результат для модульного теста.
Однако это не устанавливает для хранилищ фиктивные значения API и возвращает 0 в качестве результата. Поэтому я хочу иметь возможность получать значение из фиктивного API и правильно использовать этот setStores, чтобы возвращать значения из фиктивного API.