feat: add organisations (#1820)

This commit is contained in:
David Nguyen
2025-06-10 11:49:52 +10:00
committed by GitHub
parent 0b37f19641
commit e6dc237ad2
631 changed files with 37616 additions and 25695 deletions

View File

@ -13,16 +13,20 @@ import { checkDocumentTabCount } from '../fixtures/documents';
test.describe.configure({ mode: 'serial' });
const seedDeleteDocumentsTestRequirements = async () => {
const [sender, recipientA, recipientB] = await Promise.all([seedUser(), seedUser(), seedUser()]);
const [sender, recipientA, recipientB] = await Promise.all([
seedUser({ setTeamEmailAsOwner: true }),
seedUser({ setTeamEmailAsOwner: true }),
seedUser({ setTeamEmailAsOwner: true }),
]);
const [draftDocument, pendingDocument, completedDocument] = await Promise.all([
seedDraftDocument(sender, [recipientA, recipientB], {
seedDraftDocument(sender.user, sender.team.id, [recipientA.user, recipientB.user], {
createDocumentOptions: { title: 'Document 1 - Draft' },
}),
seedPendingDocument(sender, [recipientA, recipientB], {
seedPendingDocument(sender.user, sender.team.id, [recipientA.user, recipientB.user], {
createDocumentOptions: { title: 'Document 1 - Pending' },
}),
seedCompletedDocument(sender, [recipientA, recipientB], {
seedCompletedDocument(sender.user, sender.team.id, [recipientA.user, recipientB.user], {
createDocumentOptions: { title: 'Document 1 - Completed' },
}),
]);
@ -41,7 +45,8 @@ test('[DOCUMENTS]: seeded documents should be visible', async ({ page }) => {
await apiSignin({
page,
email: sender.email,
email: sender.user.email,
redirectPath: `/t/${sender.team.url}/documents`,
});
await expect(page.getByRole('link', { name: 'Document 1 - Completed' })).toBeVisible();
@ -53,7 +58,8 @@ test('[DOCUMENTS]: seeded documents should be visible', async ({ page }) => {
for (const recipient of recipients) {
await apiSignin({
page,
email: recipient.email,
email: recipient.user.email,
redirectPath: `/t/${recipient.team.url}/documents`,
});
await expect(page.getByRole('link', { name: 'Document 1 - Completed' })).toBeVisible();
@ -72,7 +78,8 @@ test('[DOCUMENTS]: deleting a completed document should not remove it from recip
await apiSignin({
page,
email: sender.email,
email: sender.user.email,
redirectPath: `/t/${sender.team.url}/documents`,
});
// Open document action menu.
@ -95,7 +102,8 @@ test('[DOCUMENTS]: deleting a completed document should not remove it from recip
for (const recipient of recipients) {
await apiSignin({
page,
email: recipient.email,
email: recipient.user.email,
redirectPath: `/t/${recipient.team.url}/documents`,
});
await expect(page.getByRole('link', { name: 'Document 1 - Completed' })).toBeVisible();
@ -113,7 +121,8 @@ test('[DOCUMENTS]: deleting a pending document should remove it from recipients'
await apiSignin({
page,
email: sender.email,
email: sender.user.email,
redirectPath: `/t/${sender.team.url}/documents`,
});
// Open document action menu.
@ -135,6 +144,7 @@ test('[DOCUMENTS]: deleting a pending document should remove it from recipients'
email: recipient.email,
});
// Check dashboard inbox.
await expect(page.getByRole('link', { name: 'Document 1 - Pending' })).not.toBeVisible();
await apiSignout({ page });
}
@ -145,7 +155,8 @@ test('[DOCUMENTS]: deleting draft documents should permanently remove it', async
await apiSignin({
page,
email: sender.email,
email: sender.user.email,
redirectPath: `/t/${sender.team.url}/documents`,
});
// Open document action menu.
@ -174,7 +185,8 @@ test('[DOCUMENTS]: deleting pending documents should permanently remove it', asy
await apiSignin({
page,
email: sender.email,
email: sender.user.email,
redirectPath: `/t/${sender.team.url}/documents`,
});
// Open document action menu.
@ -205,7 +217,8 @@ test('[DOCUMENTS]: deleting completed documents as an owner should hide it from
await apiSignin({
page,
email: sender.email,
email: sender.user.email,
redirectPath: `/t/${sender.team.url}/documents`,
});
// Open document action menu.
@ -231,7 +244,8 @@ test('[DOCUMENTS]: deleting completed documents as an owner should hide it from
await apiSignout({ page });
await apiSignin({
page,
email: recipients[0].email,
email: recipients[0].user.email,
redirectPath: `/t/${recipients[0].team.url}/documents`,
});
// Check document counts.
@ -252,7 +266,8 @@ test('[DOCUMENTS]: deleting documents as a recipient should only hide it for the
await apiSignin({
page,
email: recipientA.email,
email: recipientA.user.email,
redirectPath: `/t/${recipientA.team.url}/documents`,
});
// Open document action menu.
@ -301,7 +316,8 @@ test('[DOCUMENTS]: deleting documents as a recipient should only hide it for the
await apiSignout({ page });
await apiSignin({
page,
email: sender.email,
email: sender.user.email,
redirectPath: `/t/${sender.team.url}/documents`,
});
// Check document counts for sender.
@ -315,7 +331,8 @@ test('[DOCUMENTS]: deleting documents as a recipient should only hide it for the
await apiSignout({ page });
await apiSignin({
page,
email: recipientB.email,
email: recipientB.user.email,
redirectPath: `/t/${recipientB.team.url}/documents`,
});
// Check document counts for other recipient.