@nuxt/test-utils
Version:
Test utilities for Nuxt
41 lines • 1.41 kB
text/typescript
import "vue";
import "@vue/test-utils";
import { RouteLocationRaw } from "vue-router";
//#region src/runtime-utils/utils/suspended.d.ts
type SetupState = Record<string, any>;
type WrapperFnComponent<Fn> = Fn extends ((c: infer C, o: infer _) => infer _) ? C : never;
type WrapperFnOption<Fn> = Fn extends ((c: WrapperFnComponent<Fn>, o: infer O) => infer _) ? O : never;
type WrapperFnResult<Fn> = Fn extends ((c: WrapperFnComponent<Fn>, o: WrapperFnOption<Fn>) => infer R) ? R : never;
type WrapperSuspendedOptions<Fn> = WrapperFnOption<Fn> & {
/**
* The initial route, or false to skip the initial route change.
* @default '/'
*/
route?: RouteLocationRaw | false;
/**
* Enable spy component setup state.
* @default false
* @example
* ```ts
* const wrapper = await mountSuspended(CustomRandom, { spy: true })
* vi.mocked(wrapper.setupState.getRandom).mockImplementation(() => 200)
* await wrapper.find('#random').trigger('click')
* expect(wrapper.setupState.getRandom).toHaveBeenCalled()
* ```
*/
spy?: boolean;
scoped?: boolean;
};
type WrapperSuspendedResult<Fn> = WrapperFnResult<Fn> & {
/**
* The return value of the component setup.
*/
setupState: SetupState;
};
declare global {
interface Window {
__cleanup?: Array<() => void>;
}
}
//#endregion
export { WrapperSuspendedOptions as n, WrapperSuspendedResult as r, SetupState as t };