2022-05-13 21:18:40 +03:00
|
|
|
import { render } from '@testing-library/react';
|
2022-07-10 00:03:21 +03:00
|
|
|
import userEvent from '@testing-library/user-event';
|
2023-02-18 13:11:01 +03:00
|
|
|
import type { ReactElement } from 'react';
|
2022-05-13 21:18:40 +03:00
|
|
|
|
|
|
|
export const setUpCanvas = (element: ReactElement) => {
|
|
|
|
const result = render(element);
|
|
|
|
const { container } = result;
|
2023-05-27 13:45:06 +03:00
|
|
|
const getEvents = () => {
|
|
|
|
const context = container.querySelector('canvas')?.getContext('2d');
|
|
|
|
// @ts-expect-error __getEvents is set by vitest-canvas-mock
|
|
|
|
return context?.__getEvents(); // eslint-disable-line no-underscore-dangle
|
|
|
|
};
|
2022-05-13 21:18:40 +03:00
|
|
|
|
2022-05-28 13:54:33 +03:00
|
|
|
return { ...result, events: getEvents(), getEvents };
|
2022-05-13 21:18:40 +03:00
|
|
|
};
|
2022-07-10 00:03:21 +03:00
|
|
|
|
|
|
|
export const renderWithEvents = (element: ReactElement) => ({
|
|
|
|
user: userEvent.setup(),
|
|
|
|
...render(element),
|
|
|
|
});
|