40 lines
No EOL
1.6 KiB
TypeScript
40 lines
No EOL
1.6 KiB
TypeScript
// License: LGPL-3.0-or-later
|
|
import * as React from "react";
|
|
import { render, waitFor } from "@testing-library/react";
|
|
import '@testing-library/jest-dom/extend-expect';
|
|
import AnimatedCheckmark from "./AnimatedCheckmark";
|
|
import { IntlProvider } from "../../intl";
|
|
import I18n from '../../../i18n';
|
|
|
|
function Wrapper(props:React.PropsWithChildren<unknown>) {
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
const translations = I18n.translations['en'] as any;
|
|
return (<IntlProvider messages={translations} locale={'en'}>
|
|
{props.children}
|
|
</IntlProvider>);
|
|
}
|
|
describe('Animated Checkmark', () => {
|
|
it('check if it renders', async () => {
|
|
expect.hasAssertions();
|
|
const {getByTestId} = render(<Wrapper><AnimatedCheckmark ariaLabel={"login.success"} role={"status"}></AnimatedCheckmark></Wrapper>);
|
|
const checkmark = getByTestId("CheckmarkTest");
|
|
await waitFor(() => {
|
|
expect(checkmark).toBeInTheDocument();
|
|
});
|
|
});
|
|
it('check Aria Label Message', async () => {
|
|
expect.hasAssertions();
|
|
const {queryByLabelText } = render(<Wrapper><AnimatedCheckmark ariaLabel={"You have successfully signed in."} role={"status"}></AnimatedCheckmark></Wrapper>);
|
|
await waitFor(() => {
|
|
expect(queryByLabelText("You have successfully signed in.")).toBeInTheDocument();
|
|
});
|
|
});
|
|
it('role has status as value', async () => {
|
|
expect.hasAssertions();
|
|
const {getByTestId } = render(<Wrapper><AnimatedCheckmark ariaLabel={"login.success"} role={"status"}></AnimatedCheckmark></Wrapper>);
|
|
const role = getByTestId("CheckmarkTest");
|
|
await waitFor(() => {
|
|
expect(role).toHaveAttribute('role', 'status');
|
|
});
|
|
});
|
|
}); |