/* eslint-disable no-restricted-imports */ import type { MountOptions } from '@playwright/experimental-ct-react'; import type { Locator, TestFixture } from '@playwright/test'; import type router from 'next/router'; import React from 'react'; import type { Props as TestAppProps } from 'playwright/TestApp'; import TestApp from 'playwright/TestApp'; interface MountResult extends Locator { unmount(): Promise; update(component: React.JSX.Element): Promise; } interface AppHooksConfig { router: Partial>; } type Mount = (component: React.JSX.Element, options?: MountOptions) => Promise; export type RenderFixture = ( component: React.JSX.Element, options?: MountOptions, props?: Omit ) => Promise; const fixture: TestFixture = async({ mount }, use) => { await use((component, options, props) => { return mount( { component }, options, ); }); }; export default fixture;