mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 12:28:42 +00:00
refactor(core): new workspace selector and create dialog (#10323)
This commit is contained in:
@@ -3,10 +3,8 @@ import {
|
||||
clickNewPageButton,
|
||||
getBlockSuiteEditorTitle,
|
||||
} from '@affine-test/kit/utils/page-logic';
|
||||
import {
|
||||
clickSideBarCurrentWorkspaceBanner,
|
||||
clickSideBarSettingButton,
|
||||
} from '@affine-test/kit/utils/sidebar';
|
||||
import { clickSideBarSettingButton } from '@affine-test/kit/utils/sidebar';
|
||||
import { createLocalWorkspace } from '@affine-test/kit/utils/workspace';
|
||||
import type { Page } from '@playwright/test';
|
||||
import { expect } from '@playwright/test';
|
||||
|
||||
@@ -112,13 +110,7 @@ test('windows only check', async ({ page }) => {
|
||||
test('delete workspace', async ({ page }) => {
|
||||
await clickNewPageButton(page);
|
||||
|
||||
await clickSideBarCurrentWorkspaceBanner(page);
|
||||
await page.getByTestId('new-workspace').click();
|
||||
await page.getByTestId('create-workspace-input').fill('Delete Me');
|
||||
await page.getByTestId('create-workspace-create-button').click();
|
||||
// await page.getByTestId('create-workspace-continue-button').click({
|
||||
// delay: 100,
|
||||
// });
|
||||
await createLocalWorkspace({ name: 'Delete Me' }, page);
|
||||
await page.waitForTimeout(1000);
|
||||
await clickSideBarSettingButton(page);
|
||||
await page.getByTestId('workspace-setting:preference').click();
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
clickNewPageButton,
|
||||
clickSideBarCurrentWorkspaceBanner,
|
||||
} from '@affine-test/kit/utils/sidebar';
|
||||
import { createLocalWorkspace } from '@affine-test/kit/utils/workspace';
|
||||
import { expect } from '@playwright/test';
|
||||
import fs from 'fs-extra';
|
||||
|
||||
@@ -106,12 +107,8 @@ test('export then add', async ({ page, appInfo, workspace }) => {
|
||||
|
||||
test('delete workspace and then restore it from backup', async ({ page }) => {
|
||||
//#region 1. create a new workspace
|
||||
await clickSideBarCurrentWorkspaceBanner(page);
|
||||
const newWorkspaceName = 'new-test-name';
|
||||
|
||||
await page.getByTestId('new-workspace').click();
|
||||
await page.getByTestId('create-workspace-input').fill(newWorkspaceName);
|
||||
await page.getByTestId('create-workspace-create-button').click();
|
||||
await createLocalWorkspace({ name: newWorkspaceName }, page);
|
||||
//#endregion
|
||||
|
||||
//#region 2. create a page in the new workspace (will verify later if it is successfully recovered)
|
||||
|
||||
@@ -4,6 +4,7 @@ import {
|
||||
clickNewPageButton,
|
||||
waitForEditorLoad,
|
||||
} from '@affine-test/kit/utils/page-logic';
|
||||
import { createLocalWorkspace } from '@affine-test/kit/utils/workspace';
|
||||
import { expect } from '@playwright/test';
|
||||
|
||||
test('should create a page with a local first avatar and remove it', async ({
|
||||
@@ -13,10 +14,7 @@ test('should create a page with a local first avatar and remove it', async ({
|
||||
await openHomePage(page);
|
||||
await waitForEditorLoad(page);
|
||||
await clickNewPageButton(page);
|
||||
await page.getByTestId('workspace-name').click();
|
||||
await page.getByTestId('new-workspace').click();
|
||||
await page.getByTestId('create-workspace-input').fill('Test Workspace 1');
|
||||
await page.getByTestId('create-workspace-create-button').click();
|
||||
await createLocalWorkspace({ name: 'Test Workspace 1' }, page);
|
||||
await page.waitForTimeout(1000);
|
||||
await page.getByTestId('workspace-name').click();
|
||||
await page
|
||||
|
||||
@@ -5,21 +5,13 @@ import {
|
||||
openSettingModal,
|
||||
openWorkspaceSettingPanel,
|
||||
} from '@affine-test/kit/utils/setting';
|
||||
import { clickSideBarCurrentWorkspaceBanner } from '@affine-test/kit/utils/sidebar';
|
||||
import { createLocalWorkspace } from '@affine-test/kit/utils/workspace';
|
||||
import { expect } from '@playwright/test';
|
||||
|
||||
test('Create new workspace, then delete it', async ({ page, workspace }) => {
|
||||
await openHomePage(page);
|
||||
await waitForEditorLoad(page);
|
||||
await clickSideBarCurrentWorkspaceBanner(page);
|
||||
await page.getByTestId('new-workspace').click();
|
||||
await page.waitForTimeout(1000);
|
||||
await page
|
||||
.getByTestId('create-workspace-input')
|
||||
.pressSequentially('Test Workspace', { delay: 50 });
|
||||
const createButton = page.getByTestId('create-workspace-create-button');
|
||||
await createButton.click();
|
||||
await createButton.waitFor({ state: 'hidden' });
|
||||
await createLocalWorkspace({ name: 'Test Workspace' }, page);
|
||||
|
||||
await page.waitForSelector('[data-testid="workspace-name"]');
|
||||
expect(await page.getByTestId('workspace-name').textContent()).toBe(
|
||||
@@ -72,11 +64,7 @@ test('Delete last workspace', async ({ page }) => {
|
||||
await page.getByTestId('delete-workspace-confirm-button').click();
|
||||
await openHomePage(page);
|
||||
await expect(page.getByTestId('new-workspace')).toBeVisible();
|
||||
await page.getByTestId('new-workspace').click();
|
||||
await page
|
||||
.locator('[data-testid="create-workspace-input"]')
|
||||
.pressSequentially('Test Workspace');
|
||||
await page.getByTestId('create-workspace-create-button').click();
|
||||
await createLocalWorkspace({ name: 'Test Workspace' }, page, true);
|
||||
await page.waitForTimeout(1000);
|
||||
await page.waitForSelector('[data-testid="workspace-name"]');
|
||||
await expect(page.getByTestId('workspace-name')).toHaveText('Test Workspace');
|
||||
|
||||
@@ -15,9 +15,12 @@ export async function openWorkspaceListModal(page: Page) {
|
||||
|
||||
export async function createLocalWorkspace(
|
||||
params: CreateWorkspaceParams,
|
||||
page: Page
|
||||
page: Page,
|
||||
skipOpenWorkspaceListModal = false
|
||||
) {
|
||||
await openWorkspaceListModal(page);
|
||||
if (!skipOpenWorkspaceListModal) {
|
||||
await openWorkspaceListModal(page);
|
||||
}
|
||||
|
||||
// open create workspace modal
|
||||
await page.getByTestId('new-workspace').click();
|
||||
@@ -30,6 +33,11 @@ export async function createLocalWorkspace(
|
||||
await page.getByPlaceholder('Set a Workspace name').click();
|
||||
await page.getByPlaceholder('Set a Workspace name').fill(params.name);
|
||||
|
||||
// select local server
|
||||
await page.getByTestId('server-selector-trigger').click();
|
||||
const serverSelectorList = page.getByTestId('server-selector-list');
|
||||
await serverSelectorList.getByTestId('local').click();
|
||||
|
||||
// click create button
|
||||
await page.getByTestId('create-workspace-create-button').click({
|
||||
delay: 500,
|
||||
|
||||
Reference in New Issue
Block a user