fix(ui): clarify email settings labels (#2448)

This commit is contained in:
Louis Liu
2026-02-16 14:00:24 +08:00
committed by GitHub
parent a60c6a90ab
commit ff9e6acb7a
3 changed files with 49 additions and 35 deletions
@@ -106,10 +106,10 @@ test.describe('AutoSave Subject Step', () => {
const { user, document, team } = await setupDocumentAndNavigateToSubjectStep(page); const { user, document, team } = await setupDocumentAndNavigateToSubjectStep(page);
// Toggle some email settings checkboxes (randomly - some checked, some unchecked) // Toggle some email settings checkboxes (randomly - some checked, some unchecked)
await page.getByText('Send recipient signed email').click(); await page.getByText('Email the owner when a recipient signs').click();
await page.getByText('Send recipient removed email').click(); await page.getByText("Email recipients when they're removed from a pending document").click();
await page.getByText('Send document completed email', { exact: true }).click(); await page.getByText('Email recipients when the document is completed', { exact: true }).click();
await page.getByText('Send document deleted email').click(); await page.getByText('Email recipients when a pending document is deleted').click();
await triggerAutosave(page); await triggerAutosave(page);
@@ -126,26 +126,30 @@ test.describe('AutoSave Subject Step', () => {
const emailSettings = retrievedDocumentData.documentMeta?.emailSettings; const emailSettings = retrievedDocumentData.documentMeta?.emailSettings;
await expect(page.getByText('Send recipient signed email')).toBeChecked({ await expect(page.getByText('Email the owner when a recipient signs')).toBeChecked({
checked: emailSettings?.recipientSigned, checked: emailSettings?.recipientSigned,
}); });
await expect(page.getByText('Send recipient removed email')).toBeChecked({ await expect(
page.getByText("Email recipients when they're removed from a pending document"),
).toBeChecked({
checked: emailSettings?.recipientRemoved, checked: emailSettings?.recipientRemoved,
}); });
await expect(page.getByText('Send document completed email', { exact: true })).toBeChecked({ await expect(
page.getByText('Email recipients when the document is completed', { exact: true }),
).toBeChecked({
checked: emailSettings?.documentCompleted, checked: emailSettings?.documentCompleted,
}); });
await expect(page.getByText('Send document deleted email')).toBeChecked({ await expect(page.getByText('Email recipients when a pending document is deleted')).toBeChecked({
checked: emailSettings?.documentDeleted, checked: emailSettings?.documentDeleted,
}); });
await expect(page.getByText('Send recipient signing request email')).toBeChecked({ await expect(page.getByText('Email recipients with a signing request')).toBeChecked({
checked: emailSettings?.recipientSigningRequest, checked: emailSettings?.recipientSigningRequest,
}); });
await expect(page.getByText('Send document pending email')).toBeChecked({ await expect(page.getByText('Email the signer if the document is still pending')).toBeChecked({
checked: emailSettings?.documentPending, checked: emailSettings?.documentPending,
}); });
await expect(page.getByText('Send document completed email to the owner')).toBeChecked({ await expect(page.getByText('Email the owner when the document is completed')).toBeChecked({
checked: emailSettings?.ownerDocumentCompleted, checked: emailSettings?.ownerDocumentCompleted,
}); });
}).toPass(); }).toPass();
@@ -161,10 +165,10 @@ test.describe('AutoSave Subject Step', () => {
await page.getByRole('textbox', { name: 'Subject (Optional)' }).fill(subject); await page.getByRole('textbox', { name: 'Subject (Optional)' }).fill(subject);
await page.getByRole('textbox', { name: 'Message (Optional)' }).fill(message); await page.getByRole('textbox', { name: 'Message (Optional)' }).fill(message);
await page.getByText('Send recipient signed email').click(); await page.getByText('Email the owner when a recipient signs').click();
await page.getByText('Send recipient removed email').click(); await page.getByText("Email recipients when they're removed from a pending document").click();
await page.getByText('Send document completed email', { exact: true }).click(); await page.getByText('Email recipients when the document is completed', { exact: true }).click();
await page.getByText('Send document deleted email').click(); await page.getByText('Email recipients when a pending document is deleted').click();
await triggerAutosave(page); await triggerAutosave(page);
@@ -190,26 +194,30 @@ test.describe('AutoSave Subject Step', () => {
retrievedDocumentData.documentMeta?.message ?? '', retrievedDocumentData.documentMeta?.message ?? '',
); );
await expect(page.getByText('Send recipient signed email')).toBeChecked({ await expect(page.getByText('Email the owner when a recipient signs')).toBeChecked({
checked: retrievedDocumentData.documentMeta?.emailSettings?.recipientSigned, checked: retrievedDocumentData.documentMeta?.emailSettings?.recipientSigned,
}); });
await expect(page.getByText('Send recipient removed email')).toBeChecked({ await expect(
page.getByText("Email recipients when they're removed from a pending document"),
).toBeChecked({
checked: retrievedDocumentData.documentMeta?.emailSettings?.recipientRemoved, checked: retrievedDocumentData.documentMeta?.emailSettings?.recipientRemoved,
}); });
await expect(page.getByText('Send document completed email', { exact: true })).toBeChecked({ await expect(
page.getByText('Email recipients when the document is completed', { exact: true }),
).toBeChecked({
checked: retrievedDocumentData.documentMeta?.emailSettings?.documentCompleted, checked: retrievedDocumentData.documentMeta?.emailSettings?.documentCompleted,
}); });
await expect(page.getByText('Send document deleted email')).toBeChecked({ await expect(page.getByText('Email recipients when a pending document is deleted')).toBeChecked({
checked: retrievedDocumentData.documentMeta?.emailSettings?.documentDeleted, checked: retrievedDocumentData.documentMeta?.emailSettings?.documentDeleted,
}); });
await expect(page.getByText('Send recipient signing request email')).toBeChecked({ await expect(page.getByText('Email recipients with a signing request')).toBeChecked({
checked: retrievedDocumentData.documentMeta?.emailSettings?.recipientSigningRequest, checked: retrievedDocumentData.documentMeta?.emailSettings?.recipientSigningRequest,
}); });
await expect(page.getByText('Send document pending email')).toBeChecked({ await expect(page.getByText('Email the signer if the document is still pending')).toBeChecked({
checked: retrievedDocumentData.documentMeta?.emailSettings?.documentPending, checked: retrievedDocumentData.documentMeta?.emailSettings?.documentPending,
}); });
await expect(page.getByText('Send document completed email to the owner')).toBeChecked({ await expect(page.getByText('Email the owner when the document is completed')).toBeChecked({
checked: retrievedDocumentData.documentMeta?.emailSettings?.ownerDocumentCompleted, checked: retrievedDocumentData.documentMeta?.emailSettings?.ownerDocumentCompleted,
}); });
}).toPass(); }).toPass();
@@ -205,9 +205,13 @@ test('[ORGANISATIONS]: manage email preferences', async ({ page }) => {
await page.getByRole('textbox', { name: 'Reply to email' }).fill('organisation@documenso.com'); await page.getByRole('textbox', { name: 'Reply to email' }).fill('organisation@documenso.com');
// Update email document settings by enabling/disabling some checkboxes // Update email document settings by enabling/disabling some checkboxes
await page.getByRole('checkbox', { name: 'Send recipient signed email' }).uncheck(); await page.getByRole('checkbox', { name: 'Email the owner when a recipient signs' }).uncheck();
await page.getByRole('checkbox', { name: 'Send document pending email' }).uncheck(); await page
await page.getByRole('checkbox', { name: 'Send document deleted email' }).uncheck(); .getByRole('checkbox', { name: 'Email the signer if the document is still pending' })
.uncheck();
await page
.getByRole('checkbox', { name: 'Email recipients when a pending document is deleted' })
.uncheck();
await page.getByRole('button', { name: 'Update' }).first().click(); await page.getByRole('button', { name: 'Update' }).first().click();
await expect(page.getByText('Your email preferences have been updated').first()).toBeVisible(); await expect(page.getByText('Your email preferences have been updated').first()).toBeVisible();
@@ -240,12 +244,14 @@ test('[ORGANISATIONS]: manage email preferences', async ({ page }) => {
await page.getByRole('option', { name: 'Override organisation settings' }).click(); await page.getByRole('option', { name: 'Override organisation settings' }).click();
// Update some email settings // Update some email settings
await page.getByRole('checkbox', { name: 'Send recipient signing request email' }).uncheck();
await page await page
.getByRole('checkbox', { name: 'Send document completed email', exact: true }) .getByRole('checkbox', { name: 'Email recipients with a signing request' })
.uncheck(); .uncheck();
await page await page
.getByRole('checkbox', { name: 'Send document completed email to the owner' }) .getByRole('checkbox', { name: 'Email recipients when the document is completed', exact: true })
.uncheck();
await page
.getByRole('checkbox', { name: 'Email the owner when the document is completed' })
.uncheck(); .uncheck();
await page.getByRole('button', { name: 'Update' }).first().click(); await page.getByRole('button', { name: 'Update' }).first().click();
@@ -37,7 +37,7 @@ export const DocumentEmailCheckboxes = ({
className="text-muted-foreground ml-2 flex flex-row items-center text-sm" className="text-muted-foreground ml-2 flex flex-row items-center text-sm"
htmlFor={DocumentEmailEvents.RecipientSigned} htmlFor={DocumentEmailEvents.RecipientSigned}
> >
<Trans>Send recipient signed email</Trans> <Trans>Email the owner when a recipient signs</Trans>
<Tooltip> <Tooltip>
<TooltipTrigger> <TooltipTrigger>
@@ -75,7 +75,7 @@ export const DocumentEmailCheckboxes = ({
className="text-muted-foreground ml-2 flex flex-row items-center text-sm" className="text-muted-foreground ml-2 flex flex-row items-center text-sm"
htmlFor={DocumentEmailEvents.RecipientSigningRequest} htmlFor={DocumentEmailEvents.RecipientSigningRequest}
> >
<Trans>Send recipient signing request email</Trans> <Trans>Email recipients with a signing request</Trans>
<Tooltip> <Tooltip>
<TooltipTrigger> <TooltipTrigger>
@@ -113,7 +113,7 @@ export const DocumentEmailCheckboxes = ({
className="text-muted-foreground ml-2 flex flex-row items-center text-sm" className="text-muted-foreground ml-2 flex flex-row items-center text-sm"
htmlFor={DocumentEmailEvents.RecipientRemoved} htmlFor={DocumentEmailEvents.RecipientRemoved}
> >
<Trans>Send recipient removed email</Trans> <Trans>Email recipients when they're removed from a pending document</Trans>
<Tooltip> <Tooltip>
<TooltipTrigger> <TooltipTrigger>
@@ -151,7 +151,7 @@ export const DocumentEmailCheckboxes = ({
className="text-muted-foreground ml-2 flex flex-row items-center text-sm" className="text-muted-foreground ml-2 flex flex-row items-center text-sm"
htmlFor={DocumentEmailEvents.DocumentPending} htmlFor={DocumentEmailEvents.DocumentPending}
> >
<Trans>Send document pending email</Trans> <Trans>Email the signer if the document is still pending</Trans>
<Tooltip> <Tooltip>
<TooltipTrigger> <TooltipTrigger>
@@ -190,7 +190,7 @@ export const DocumentEmailCheckboxes = ({
className="text-muted-foreground ml-2 flex flex-row items-center text-sm" className="text-muted-foreground ml-2 flex flex-row items-center text-sm"
htmlFor={DocumentEmailEvents.DocumentCompleted} htmlFor={DocumentEmailEvents.DocumentCompleted}
> >
<Trans>Send document completed email</Trans> <Trans>Email recipients when the document is completed</Trans>
<Tooltip> <Tooltip>
<TooltipTrigger> <TooltipTrigger>
@@ -228,7 +228,7 @@ export const DocumentEmailCheckboxes = ({
className="text-muted-foreground ml-2 flex flex-row items-center text-sm" className="text-muted-foreground ml-2 flex flex-row items-center text-sm"
htmlFor={DocumentEmailEvents.DocumentDeleted} htmlFor={DocumentEmailEvents.DocumentDeleted}
> >
<Trans>Send document deleted email</Trans> <Trans>Email recipients when a pending document is deleted</Trans>
<Tooltip> <Tooltip>
<TooltipTrigger> <TooltipTrigger>
@@ -266,7 +266,7 @@ export const DocumentEmailCheckboxes = ({
className="text-muted-foreground ml-2 flex flex-row items-center text-sm" className="text-muted-foreground ml-2 flex flex-row items-center text-sm"
htmlFor={DocumentEmailEvents.OwnerDocumentCompleted} htmlFor={DocumentEmailEvents.OwnerDocumentCompleted}
> >
<Trans>Send document completed email to the owner</Trans> <Trans>Email the owner when the document is completed</Trans>
<Tooltip> <Tooltip>
<TooltipTrigger> <TooltipTrigger>