You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							54 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							54 lines
						
					
					
						
							2.1 KiB
						
					
					
				| 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.startVault(browser, testInfo); | |
| }); | |
| 
 | |
| test.afterAll('Teardown', async ({}) => { | |
|     utils.stopVault(); | |
| }); | |
| 
 | |
| 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(); | |
|     }); | |
| });
 | |
| 
 |