mirror of
https://github.com/portainer/portainer.git
synced 2025-07-19 05:19:39 +02:00
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
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import { fireEvent, render } from '@testing-library/react';
|
|
|
|
import { CopyButton } from './CopyButton';
|
|
|
|
test('should display a CopyButton with children', async () => {
|
|
const children = 'test button children';
|
|
const { findByText } = render(
|
|
<CopyButton copyText="" data-cy="copy-button">
|
|
{children}
|
|
</CopyButton>
|
|
);
|
|
|
|
const button = await findByText(children);
|
|
expect(button).toBeTruthy();
|
|
});
|
|
|
|
test('CopyButton should copy text to clipboard', async () => {
|
|
// override navigator.clipboard.writeText (to test copy to clipboard functionality)
|
|
let clipboardText = '';
|
|
const writeText = vi.fn((text) => {
|
|
clipboardText = text;
|
|
});
|
|
Object.assign(navigator, {
|
|
clipboard: { writeText },
|
|
});
|
|
|
|
const children = 'button';
|
|
const copyText = 'text successfully copied to clipboard';
|
|
const { findByText } = render(
|
|
<CopyButton copyText={copyText} data-cy="copy-button">
|
|
{children}
|
|
</CopyButton>
|
|
);
|
|
|
|
const button = await findByText(children);
|
|
expect(button).toBeTruthy();
|
|
|
|
fireEvent.click(button);
|
|
expect(clipboardText).toBe(copyText);
|
|
expect(writeText).toHaveBeenCalled();
|
|
});
|