mirror of
https://github.com/dani-garcia/vaultwarden.git
synced 2025-06-18 17:30:09 +00:00
54 lines
2.1 KiB
TypeScript
54 lines
2.1 KiB
TypeScript
import { test, expect, type TestInfo } from '@playwright/test';
|
|
import { MailDev } from 'maildev';
|
|
|
|
import * as utils from "../global-utils";
|
|
import * as orgs from './setups/orgs';
|
|
import { createAccount, logUser } from './setups/user';
|
|
|
|
let users = utils.loadEnv();
|
|
|
|
test.beforeAll('Setup', async ({ browser }, testInfo: TestInfo) => {
|
|
await utils.startVaultwarden(browser, testInfo);
|
|
});
|
|
|
|
test.afterAll('Teardown', async ({}) => {
|
|
utils.stopVaultwarden();
|
|
});
|
|
|
|
test('Invite', async ({ page }) => {
|
|
await createAccount(test, page, users.user3);
|
|
await createAccount(test, page, users.user1);
|
|
|
|
await orgs.create(test, page, 'New organisation');
|
|
await orgs.members(test, page, 'New organisation');
|
|
|
|
await test.step('missing user2', async () => {
|
|
await orgs.invite(test, page, 'New organisation', users.user2.email);
|
|
await expect(page.getByRole('row', { name: users.user2.email })).toHaveText(/Invited/);
|
|
});
|
|
|
|
await test.step('existing user3', async () => {
|
|
await orgs.invite(test, page, 'New organisation', users.user3.email);
|
|
await expect(page.getByRole('row', { name: users.user3.email })).toHaveText(/Needs confirmation/);
|
|
await orgs.confirm(test, page, 'New organisation', users.user3.email);
|
|
});
|
|
|
|
await test.step('confirm user2', async () => {
|
|
await createAccount(test, page, users.user2);
|
|
await logUser(test, page, users.user1);
|
|
await orgs.members(test, page, 'New organisation');
|
|
await orgs.confirm(test, page, 'New organisation', users.user2.email);
|
|
});
|
|
|
|
await test.step('Org visible user2 ', async () => {
|
|
await logUser(test, page, users.user2);
|
|
await page.getByRole('button', { name: 'vault: New organisation', exact: true }).click();
|
|
await expect(page.getByLabel('Filter: Default collection')).toBeVisible();
|
|
});
|
|
|
|
await test.step('Org visible user3 ', async () => {
|
|
await logUser(test, page, users.user3);
|
|
await page.getByRole('button', { name: 'vault: New organisation', exact: true }).click();
|
|
await expect(page.getByLabel('Filter: Default collection')).toBeVisible();
|
|
});
|
|
});
|