import { test, expect, type Page } from '@playwright/test'; import { getOrganizationIdFromUrl, getProjectIdFromUrl } from '../helpers/url'; type Metadata = { id: string; organizationId: string; }; export async function createFreeProject(page: Page): Promise { const organizationId = await test.step('create organization', async () => { await page.goto('./'); await page.waitForURL(/\/organization-[^/]+/); return getOrganizationIdFromUrl(page.url()); }); const projectId = await test.step('create project', async () => { await page.waitForURL(/\/organization-[^/]+/); await page.getByRole('button', { name: 'create project' }).first().click(); const dialog = page.locator('dialog[open]'); await dialog.getByPlaceholder('Project name').fill('test project'); await dialog.getByRole('button', { name: 'create' }).click(); await page.waitForURL(/\/project-fra-[^/]+/); expect(page.url()).toContain('/console/project-fra-'); return getProjectIdFromUrl(page.url()); }); return { id: projectId, organizationId }; }