Доброго времени суток. Знакомлюсь с тестированием в React, и никак не могу протестировать компонент на 100%. потратил уже несколько часов и получилось только протестировать сам рендер компонента, но useState и асинхронную функцию с апдейтом стейта никак не получается. Везде базовые примеры, нагуглить не смог. (использую react testing library). Спасибо за помощь!
interface IMainPageProps {
httpClient: IHttpClient;
}
export const MainPageContainer: React.FunctionComponent<IMainPageProps> = ({ httpClient }) => {
const [data, setData] = React.useState<ITabData>();
const getCardData = async () => {
const cardDataModel = new CardDataModel();
httpClient.fetch(cardDataModel).then((result: ITabData) => {
if (result) setData(result);
});
};
const ping = async () => {
pingAction();
};
return (
<div data-testid="mainPageContainer-test-component">
<button
style={{ margin: '100px 0 0 130px' }}
onClick={getCardData}
type="button"
>
Load data
</button>
{data ? (
<MainPage
ping={ping}
data={data}
/>
) : null}
</div>
);
};