feat: implement workspace management and member invitations
- Added tenant API for managing workspaces, including listing, creating, and inviting members. - Introduced new models for organizations, workspaces, and workspace memberships in the backend. - Created frontend components for workspace administration, allowing users to manage workspaces and invite members. - Updated document listing to support workspace-specific filtering. - Implemented account settings page for user profile management and password changes. - Added end-to-end tests for workspace administration and dashboard functionalities.
This commit is contained in:
parent
809235e962
commit
bf5cd44dc1
20 changed files with 928 additions and 27 deletions
19
frontend/e2e/phase10-tenant.spec.ts
Normal file
19
frontend/e2e/phase10-tenant.spec.ts
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
import { test, expect } from '@playwright/test'
|
||||
import { login } from './helpers'
|
||||
|
||||
test('authenticated user can open workspace administration', async ({ page }) => {
|
||||
test.skip(!process.env.E2E_USERNAME || !process.env.E2E_PASSWORD, 'Set E2E_USERNAME and E2E_PASSWORD')
|
||||
expect(await login(page)).toBe(true)
|
||||
await page.goto('/settings/workspaces')
|
||||
await expect(page.getByRole('heading', { name: /organizations and workspaces/i })).toBeVisible()
|
||||
await expect(page.getByText(/your workspaces/i)).toBeVisible()
|
||||
})
|
||||
|
||||
test('dashboard keeps the profile entry while removing redundant header controls', async ({ page }) => {
|
||||
test.skip(!process.env.E2E_USERNAME || !process.env.E2E_PASSWORD, 'Set E2E_USERNAME and E2E_PASSWORD')
|
||||
expect(await login(page)).toBe(true)
|
||||
await page.goto('/dashboard')
|
||||
await expect(page.getByRole('link', { name: /open profile/i })).toBeVisible()
|
||||
await expect(page.getByRole('button', { name: 'Help' })).toHaveCount(0)
|
||||
await expect(page.getByRole('button', { name: 'Customize' })).toHaveCount(0)
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue