40 lines
1.6 KiB
TypeScript
40 lines
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');
|
||
|
});
|
||
|
});
|
||
|
});
|