diff --git a/e2e/.env.example b/e2e/.env.example index d68f8cb..f2b4651 100644 --- a/e2e/.env.example +++ b/e2e/.env.example @@ -7,5 +7,3 @@ E2E_ORG= E2E_BASE_URL=http://127.0.0.1:5173 # اختیاری: مشتری دارای حساب ته‌حساب برای تست اسناد E2E_PERSON_ID= -# اختیاری: توکن یک فرم عمومی لید -E2E_FORM_TOKEN= diff --git a/e2e/smoke.spec.ts b/e2e/smoke.spec.ts index 439e9ef..f75b1ce 100644 --- a/e2e/smoke.spec.ts +++ b/e2e/smoke.spec.ts @@ -57,9 +57,16 @@ test('دارایی‌ها و اسناد ته‌حساب مشتری', async ({ pa } }); -test('فرم عمومی لید بدون لاگین باز می‌شود', async ({ browser }) => { - const token = process.env.E2E_FORM_TOKEN; - test.skip(!token, 'E2E_FORM_TOKEN تنظیم نشده'); +async function findActiveFormToken(page: import('@playwright/test').Page) { + const listRes = page.waitForResponse((r) => /\/api\/lead-forms(\?|$)/.test(r.url()) && r.request().method() === 'GET'); + await page.goto('/settings/lead-forms'); + const forms = (await (await listRes).json()) as Array<{ publicToken: string; isActive: boolean }>; + return forms.find((f) => f.isActive)?.publicToken; +} + +test('فرم عمومی لید بدون لاگین باز می‌شود', async ({ browser, page: adminPage }) => { + const token = await findActiveFormToken(adminPage); + test.skip(!token, 'هیچ فرم لید فعالی وجود ندارد'); const ctx = await browser.newContext({ storageState: undefined }); const page = await ctx.newPage(); const errors: string[] = []; @@ -70,9 +77,7 @@ test('فرم عمومی لید بدون لاگین باز می‌شود', async const status = (await formRes).status(); expect( status, - status === 404 - ? 'فرمی با این E2E_FORM_TOKEN پیدا نشد یا فرم غیرفعال است؛ فقط بخش بعد از /f/ در لینک عمومی را بنویسید' - : 'خطای سرور در دریافت فرم', + 'فرم فعالی که در پنل دیده می‌شود از لینک عمومی باز نشد', ).toBe(200); await expect(page.locator('form')).toBeVisible(); await expect(page.getByRole('button', { name: /ارسال|ثبت/ })).toBeVisible();