mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
import { test as base } from '@playwright/test';
|
|
import { cleanupTestAccount } from '../helpers/delete';
|
|
|
|
import { registerUserStep } from '../steps/account';
|
|
import { createFreeProject } from '../steps/free-project';
|
|
import { createProProject } from '../steps/pro-project';
|
|
|
|
export type ProjectMetadata = {
|
|
id: string;
|
|
region: string;
|
|
organizationId: string;
|
|
};
|
|
|
|
type ProjectFixtures = {
|
|
project: ProjectMetadata;
|
|
tier: 'free' | 'pro' | 'scale' /* for later */;
|
|
};
|
|
|
|
export const test = base.extend<ProjectFixtures>({
|
|
tier: ['free', { option: true }],
|
|
project: [
|
|
async ({ page, tier }, use) => {
|
|
await registerUserStep(page);
|
|
|
|
let project: ProjectMetadata;
|
|
switch (tier) {
|
|
case 'free':
|
|
project = await createFreeProject(page);
|
|
break;
|
|
case 'pro':
|
|
case 'scale':
|
|
project = await createProProject(page);
|
|
break;
|
|
}
|
|
|
|
await use(project);
|
|
|
|
await cleanupTestAccount(page, project.region, project.id, project.organizationId);
|
|
},
|
|
{ auto: true }
|
|
]
|
|
});
|
|
|
|
export { expect } from '@playwright/test';
|