Skip to content

Latest commit

 

History

History
90 lines (88 loc) · 2.12 KB

File metadata and controls

90 lines (88 loc) · 2.12 KB

sv (testing) - Public API Surface

type ProjectVariant = 'kit-js' | 'kit-ts' | 'vite-js' | 'vite-ts';
declare const variants: ProjectVariant[];
type CreateProject = (options: {
	testId: string;
	variant: ProjectVariant;
	clean?: boolean;
}) => string;
declare module 'vitest' {
	interface ProvidedContext {
		testDir: string;
		templatesDir: string;
		variants: ProjectVariant[];
	}
}
declare function setupGlobal({
	TEST_DIR,
	pre,
	post
}: {
	TEST_DIR: string;
	pre?: () => Promise<void>;
	post?: () => Promise<void>;
}): ({ provide }: TestProject) => Promise<() => Promise<void>>;
type Fixtures = {
	page: Page;
	cwd(addonTestCase: AddonTestCase<any>): string;
};
type AddonTestCase<Addons extends AddonMap> = {
	variant: ProjectVariant;
	kind: {
		type: string;
		options: OptionMap<Addons>;
	};
};
type SetupTestOptions<Addons extends AddonMap> = {
	kinds: Array<AddonTestCase<Addons>['kind']>;
	filter?: (addonTestCase: AddonTestCase<Addons>) => boolean;
	browser?: boolean;
	preAdd?: (o: { addonTestCase: AddonTestCase<Addons>; cwd: string }) => Promise<void> | void;
};
type PrepareServerOptions = {
	cwd: string;
	page: Page;
	buildCommand?: string;
	previewCommand?: string;
};
type PrepareServerReturn = {
	url: string;
	close: () => Promise<void>;
};
declare function prepareServer({
	cwd,
	page,
	buildCommand,
	previewCommand
}: PrepareServerOptions): Promise<PrepareServerReturn>;
type PlaywrightContext = Pick<typeof _$_playwright_test0, 'chromium'>;
type VitestContext = Pick<typeof _$vitest, 'inject' | 'test' | 'beforeAll' | 'beforeEach'>;
declare function createSetupTest(
	vitest: VitestContext,
	playwright?: PlaywrightContext
): <Addons extends AddonMap>(
	addons: Addons,
	options?: SetupTestOptions<Addons>
) => {
	test: _$vitest.TestAPI<Fixtures>;
	testCases: Array<AddonTestCase<AddonMap>>;
	prepareServer: typeof prepareServer;
};
export {
	AddonTestCase,
	CreateProject,
	Fixtures,
	PlaywrightContext,
	PrepareServerOptions,
	PrepareServerReturn,
	ProjectVariant,
	SetupTestOptions,
	VitestContext,
	createSetupTest,
	prepareServer,
	setupGlobal,
	variants
};