fix: logic after delete all workspaces (#2587)

Co-authored-by: JimmFly <yangjinfei001@gmail.com>
This commit is contained in:
Himself65
2023-05-31 12:24:14 +08:00
committed by GitHub
parent 1c7ae04f4f
commit 8dbd354659
11 changed files with 100 additions and 77 deletions

View File

@@ -1,4 +1,5 @@
import { test } from '@affine-test/kit/playwright';
import { expect } from '@playwright/test';
import { openHomePage } from '../../libs/load-page';
import { waitMarkdownImported } from '../../libs/page-logic';
@@ -15,5 +16,5 @@ test('authorization expired', async ({ page }) => {
await clickSideBarAllPageButton(page);
await page.evaluate(() => localStorage.removeItem('affine-login-v2'));
await openHomePage(page);
await waitMarkdownImported(page);
await expect(page.getByTestId('new-workspace')).toBeVisible();
});

View File

@@ -47,12 +47,31 @@ test('Create new workspace, then delete it', async ({ page }) => {
await assertCurrentWorkspaceFlavour('local', page);
});
test('Should not delete the last one workspace', async ({ page }) => {
test('Delete last workspace', async ({ page }) => {
await openHomePage(page);
await waitMarkdownImported(page);
await clickSideBarSettingButton(page);
await expect(
page.getByTestId('warn-cannot-delete-last-workspace').isVisible()
).toBeTruthy();
await assertCurrentWorkspaceFlavour('local', page);
await page.getByTestId('delete-workspace-button').click();
const workspaceNameDom = await page.getByTestId('workspace-name');
const currentWorkspaceName = await workspaceNameDom.evaluate(
node => node.textContent
);
await page
.getByTestId('delete-workspace-input')
.type(currentWorkspaceName as string);
const promise = page
.getByTestId('affine-toast')
.waitFor({ state: 'attached' });
await page.getByTestId('delete-workspace-confirm-button').click();
await promise;
await page.reload();
await expect(page.getByTestId('new-workspace')).toBeVisible();
await page.getByTestId('new-workspace').click();
await page.type('[data-testid="create-workspace-input"]', 'Test Workspace');
await page.getByTestId('create-workspace-create-button').click();
await page.waitForTimeout(1000);
await page.waitForSelector('[data-testid="workspace-name"]');
expect(await page.getByTestId('workspace-name').textContent()).toBe(
'Test Workspace'
);
});