mirror of
https://github.com/documenso/documenso.git
synced 2025-11-13 16:23:06 +10:00
This PR is handles the changes required to support envelopes. The new envelope editor/signing page will be hidden during release. The core changes here is to migrate the documents and templates model to a centralized envelopes model. Even though Documents and Templates are removed, from the user perspective they will still exist as we remap envelopes to documents and templates.
57 lines
2.2 KiB
TypeScript
57 lines
2.2 KiB
TypeScript
import { expect, test } from '@playwright/test';
|
|
|
|
import { seedBlankDocument } from '@documenso/prisma/seed/documents';
|
|
import { seedUser } from '@documenso/prisma/seed/users';
|
|
|
|
import { apiSignin } from '../fixtures/authentication';
|
|
|
|
test('[DOCUMENT_FLOW]: Simple duplicate recipients test', async ({ page }) => {
|
|
const { user, team } = await seedUser();
|
|
const document = await seedBlankDocument(user, team.id);
|
|
|
|
await apiSignin({
|
|
page,
|
|
email: user.email,
|
|
redirectPath: `/t/${team.url}/documents/${document.id}/edit`,
|
|
});
|
|
|
|
// Step 1: Settings - Continue with defaults
|
|
await page.getByRole('button', { name: 'Continue' }).click();
|
|
await expect(page.getByRole('heading', { name: 'Add Signers' })).toBeVisible();
|
|
|
|
// Step 2: Add duplicate recipients
|
|
await page.getByPlaceholder('Email').fill('duplicate@example.com');
|
|
await page.getByPlaceholder('Name').fill('Duplicate 1');
|
|
|
|
await page.getByRole('button', { name: 'Add Signer' }).click();
|
|
await page.getByLabel('Email').nth(1).fill('duplicate@example.com');
|
|
await page.getByLabel('Name').nth(1).fill('Duplicate 2');
|
|
|
|
// Continue to fields
|
|
await page.getByRole('button', { name: 'Continue' }).click();
|
|
await expect(page.getByRole('heading', { name: 'Add Fields' })).toBeVisible();
|
|
|
|
// Step 3: Add fields
|
|
await page.getByRole('button', { name: 'Signature' }).click();
|
|
await page.locator('canvas').click({ position: { x: 100, y: 100 } });
|
|
|
|
await page.getByRole('combobox').first().click();
|
|
|
|
// Switch to second duplicate and add field
|
|
await page.getByText('Duplicate 2 (duplicate@example.com)').first().click();
|
|
await page.getByRole('button', { name: 'Signature' }).click();
|
|
await page.locator('canvas').click({ position: { x: 200, y: 100 } });
|
|
|
|
// Continue to send
|
|
await page.getByRole('button', { name: 'Continue' }).click();
|
|
await expect(page.getByRole('heading', { name: 'Distribute Document' })).toBeVisible();
|
|
|
|
// Send document
|
|
await page.waitForTimeout(2500);
|
|
await page.getByRole('button', { name: 'Send' }).click();
|
|
|
|
await page.waitForURL(new RegExp(`/t/${team.url}/documents/envelope_.*`));
|
|
|
|
await expect(page.getByRole('link', { name: document.title })).toBeVisible();
|
|
});
|