1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-19 05:19:39 +02:00
portainer/app/react/components/buttons/Button.test.tsx
Ali d38085a560
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run
chore(data-cy): require data-cy attributes [EE-6880] (#11453)
2024-04-11 12:11:38 +12:00

38 lines
898 B
TypeScript

import { PropsWithChildren } from 'react';
import { fireEvent, render } from '@testing-library/react';
import { Button, Props } from './Button';
function renderDefault({
type = 'button',
color = 'primary',
size = 'small',
disabled = false,
onClick = () => {},
children = null,
}: Partial<PropsWithChildren<Props>> = {}) {
return render(
<Button
type={type}
data-cy="button"
color={color}
size={size}
disabled={disabled}
onClick={onClick}
>
{children}
</Button>
);
}
test('should display a Button component and allow onClick', async () => {
const children = 'test label';
const onClick = vi.fn();
const { findByText } = renderDefault({ children, onClick });
const buttonLabel = await findByText(children);
expect(buttonLabel).toBeTruthy();
fireEvent.click(buttonLabel);
expect(onClick).toHaveBeenCalled();
});