sv
Version:
A command line interface (CLI) for creating and maintaining Svelte applications
77 lines (76 loc) • 2.4 kB
text/typescript
import { r as OptionMap, t as AddonMap } from "../engine-DcLtEbd7.mjs";
import * as _$_playwright_test0 from "@playwright/test";
import { Page } from "@playwright/test";
import * as _$vitest from "vitest";
import { TestProject } from "vitest/node";
//#region src/testing.d.ts
type ProjectVariant = "kit-js" | "kit-ts" | "vite-js" | "vite-ts";
declare const variants: ProjectVariant[];
type CreateProject = (options: {
testId: string;
variant: ProjectVariant; /** @default true */
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;
};
//#endregion
export { AddonTestCase, CreateProject, Fixtures, PlaywrightContext, PrepareServerOptions, PrepareServerReturn, ProjectVariant, SetupTestOptions, VitestContext, createSetupTest, prepareServer, setupGlobal, variants };