mirror of
https://github.com/documenso/documenso.git
synced 2025-11-16 01:32:06 +10:00
75 lines
2.7 KiB
TypeScript
75 lines
2.7 KiB
TypeScript
import { expect, test } from '@playwright/test';
|
|
|
|
import {
|
|
seedBlankDocument,
|
|
seedDraftDocument,
|
|
seedPendingDocument,
|
|
} from '@documenso/prisma/seed/documents';
|
|
import { seedUser, unseedUser } from '@documenso/prisma/seed/users';
|
|
|
|
import { apiSignin } from '../fixtures/authentication';
|
|
|
|
test.describe.configure({ mode: 'parallel' });
|
|
|
|
test('[DOCUMENT_FLOW]: add settings', async ({ page }) => {
|
|
const user = await seedUser();
|
|
const document = await seedBlankDocument(user);
|
|
|
|
await apiSignin({
|
|
page,
|
|
email: user.email,
|
|
redirectPath: `/documents/${document.id}/edit`,
|
|
});
|
|
|
|
// Set title.
|
|
await page.getByLabel('Title').fill('New Title');
|
|
|
|
// Set access auth.
|
|
await page.getByTestId('documentAccessSelectValue').click();
|
|
await page.getByLabel('Require account').getByText('Require account').click();
|
|
await expect(page.getByTestId('documentAccessSelectValue')).toContainText('Require account');
|
|
|
|
// Set action auth.
|
|
await page.getByTestId('documentActionSelectValue').click();
|
|
await page.getByLabel('Require account').getByText('Require account').click();
|
|
await expect(page.getByTestId('documentActionSelectValue')).toContainText('Require account');
|
|
|
|
// 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();
|
|
|
|
// Return to the settings step to check that the results are saved correctly.
|
|
await page.getByRole('button', { name: 'Go Back' }).click();
|
|
await expect(page.getByRole('heading', { name: 'General' })).toBeVisible();
|
|
|
|
// Todo: Verify that the values are correct once we fix the issue where going back
|
|
// does not show the updated values.
|
|
// await expect(page.getByLabel('Title')).toContainText('New Title');
|
|
// await expect(page.getByTestId('documentAccessSelectValue')).toContainText('Require account');
|
|
// await expect(page.getByTestId('documentActionSelectValue')).toContainText('Require account');
|
|
|
|
await unseedUser(user.id);
|
|
});
|
|
|
|
test('[DOCUMENT_FLOW]: title should be disabled depending on document status', async ({ page }) => {
|
|
const user = await seedUser();
|
|
|
|
const pendingDocument = await seedPendingDocument(user, []);
|
|
const draftDocument = await seedDraftDocument(user, []);
|
|
|
|
await apiSignin({
|
|
page,
|
|
email: user.email,
|
|
redirectPath: `/documents/${pendingDocument.id}/edit`,
|
|
});
|
|
|
|
// Should be disabled for pending documents.
|
|
await expect(page.getByLabel('Title')).toBeDisabled();
|
|
|
|
// Should be enabled for draft documents.
|
|
await page.goto(`/documents/${draftDocument.id}/edit`);
|
|
await expect(page.getByLabel('Title')).toBeEnabled();
|
|
|
|
await unseedUser(user.id);
|
|
});
|