import { render } from '@testing-library/react';
import { LoadingButton } from './LoadingButton';
test('when isLoading is true should show spinner and loading text', async () => {
const loadingText = 'loading';
const children = 'not visible';
const { queryByText, findByText, container } = render(
{children}
);
const spinner = container.querySelector('svg');
expect(spinner).toBeVisible();
const buttonLabel = queryByText(children);
expect(buttonLabel).toBeNull();
const loadingTextElem = await findByText(loadingText);
expect(loadingTextElem).toBeVisible();
});
test('should show children when false', async () => {
const loadingText = 'loading';
const children = 'visible';
const { queryByText, container } = render(
{children}
);
const buttonLabel = queryByText(children);
expect(buttonLabel).toBeVisible();
const spinner = container.querySelector('svg');
expect(spinner).toBeNull();
const loadingTextElem = queryByText(loadingText);
expect(loadingTextElem).toBeNull();
});