feat: add envelope editor

This commit is contained in:
David Nguyen
2025-10-12 23:35:54 +11:00
parent bf89bc781b
commit 0da8e7dbc6
307 changed files with 24657 additions and 3681 deletions

View File

@ -1,7 +1,7 @@
import type { Page } from '@playwright/test';
import { expect, test } from '@playwright/test';
import { getFieldsForDocument } from '@documenso/lib/server-only/field/get-fields-for-document';
import { prisma } from '@documenso/prisma';
import { seedBlankDocument } from '@documenso/prisma/seed/documents';
import { seedUser } from '@documenso/prisma/seed/users';
@ -14,7 +14,7 @@ const setupDocumentAndNavigateToFieldsStep = async (page: Page) => {
await apiSignin({
page,
email: user.email,
redirectPath: `/documents/${document.id}/edit`,
redirectPath: `/t/${team.url}/documents/${document.id}/edit`,
});
await page.getByRole('button', { name: 'Continue' }).click();
@ -84,10 +84,8 @@ test.describe('AutoSave Fields Step', () => {
await triggerAutosave(page);
await expect(async () => {
const retrievedFields = await getFieldsForDocument({
documentId: document.id,
userId: user.id,
teamId: team.id,
const retrievedFields = await getFieldsForEnvelope({
envelopeId: document.id,
});
expect(retrievedFields.length).toBe(3);
@ -149,10 +147,8 @@ test.describe('AutoSave Fields Step', () => {
await triggerAutosave(page);
await expect(async () => {
const retrievedFields = await getFieldsForDocument({
documentId: document.id,
userId: user.id,
teamId: team.id,
const retrievedFields = await getFieldsForEnvelope({
envelopeId: document.id,
});
expect(retrievedFields.length).toBe(2);
@ -213,10 +209,8 @@ test.describe('AutoSave Fields Step', () => {
await triggerAutosave(page);
await expect(async () => {
const retrievedFields = await getFieldsForDocument({
documentId: document.id,
userId: user.id,
teamId: team.id,
const retrievedFields = await getFieldsForEnvelope({
envelopeId: document.id,
});
expect(retrievedFields.length).toBe(4);
@ -260,10 +254,8 @@ test.describe('AutoSave Fields Step', () => {
await triggerAutosave(page);
await expect(async () => {
const retrievedFields = await getFieldsForDocument({
documentId: document.id,
userId: user.id,
teamId: team.id,
const retrievedFields = await getFieldsForEnvelope({
envelopeId: document.id,
});
expect(retrievedFields.length).toBe(2);
@ -291,3 +283,28 @@ test.describe('AutoSave Fields Step', () => {
}).toPass();
});
});
const getFieldsForEnvelope = async ({ envelopeId }: { envelopeId: string }) => {
const fields = await prisma.field.findMany({
where: {
envelope: {
id: envelopeId,
},
},
include: {
signature: true,
recipient: {
select: {
name: true,
email: true,
signingStatus: true,
},
},
},
orderBy: {
id: 'asc',
},
});
return fields;
};