import { expect, test } from '@playwright/test'; import { seedBlankDocument } from '@documenso/prisma/seed/documents'; import { seedUser, unseedUser } from '@documenso/prisma/seed/users'; import { apiSignin } from '../fixtures/authentication'; test.describe.configure({ mode: 'parallel' }); // Note: Not complete yet due to issue with back button. test('[DOCUMENT_FLOW]: add signers', async ({ page }) => { const user = await seedUser(); const document = await seedBlankDocument(user); await apiSignin({ page, email: user.email, redirectPath: `/documents/${document.id}/edit`, }); // Save the settings by going to the next step. await page.getByRole('button', { name: 'Continue' }).click(); await expect(page.getByRole('heading', { name: 'Add Signers' })).toBeVisible(); // Add 2 signers. await page.getByPlaceholder('Email').fill('recipient1@documenso.com'); await page.getByPlaceholder('Name').fill('Recipient 1'); await page.getByRole('button', { name: 'Add Signer' }).click(); await page.getByRole('textbox', { name: 'Email', exact: true }).fill('recipient2@documenso.com'); await page.getByRole('textbox', { name: 'Name', exact: true }).fill('Recipient 2'); // Display advanced settings. await page.getByLabel('Show advanced settings').click(); // Navigate to the next step and back. await page.getByRole('button', { name: 'Continue' }).click(); await expect(page.getByRole('heading', { name: 'Add Fields' })).toBeVisible(); await page.getByRole('button', { name: 'Go Back' }).click(); await expect(page.getByRole('heading', { name: 'Add Signers' })).toBeVisible(); // Todo: Fix stepper component back issue before finishing test. // // Expect that the advanced settings is unchecked, since no advanced settings were applied. // await expect(page.getByLabel('Show advanced settings')).toBeChecked({ checked: false }); // // Add advanced settings for a single recipient. // await page.getByLabel('Show advanced settings').click(); // await page.getByRole('combobox').first().click(); // await page.getByLabel('Require account').click(); // // Navigate to the next step and back. // await page.getByRole('button', { name: 'Continue' }).click(); // await expect(page.getByRole('heading', { name: 'Add Fields' })).toBeVisible(); // await page.getByRole('button', { name: 'Go Back' }).click(); // await expect(page.getByRole('heading', { name: 'Add Signers' })).toBeVisible(); // Expect that the advanced settings is visible, and the checkbox is hidden. Since advanced // settings were applied. // Todo: Fix stepper component back issue before finishing test. await unseedUser(user.id); });