mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-19 23:37:15 +08:00
test: add workspace ref in e2e (#3217)
This commit is contained in:
@@ -4,6 +4,7 @@ import fs from 'node:fs';
|
||||
import path, { resolve } from 'node:path';
|
||||
import process from 'node:process';
|
||||
|
||||
import type { Workspace } from '@blocksuite/store';
|
||||
import { test as baseTest } from '@playwright/test';
|
||||
|
||||
export const rootDir = resolve(__dirname, '..', '..');
|
||||
@@ -26,7 +27,26 @@ function generateUUID() {
|
||||
|
||||
export const enableCoverage = !!process.env.CI || !!process.env.COVERAGE;
|
||||
|
||||
export const test = baseTest.extend({
|
||||
type CurrentWorkspace = {
|
||||
id: string;
|
||||
flavour: string;
|
||||
blockSuiteWorkspace: Workspace;
|
||||
};
|
||||
|
||||
export const test = baseTest.extend<{
|
||||
workspace: {
|
||||
current: () => Promise<CurrentWorkspace>;
|
||||
};
|
||||
}>({
|
||||
workspace: async ({ page }, use) => {
|
||||
await use({
|
||||
current: async () => {
|
||||
return await page.evaluate(async () => {
|
||||
return (globalThis as any).currentWorkspace;
|
||||
});
|
||||
},
|
||||
});
|
||||
},
|
||||
context: async ({ context }, use) => {
|
||||
if (enableCoverage) {
|
||||
await context.addInitScript(() =>
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
import type { Page } from '@playwright/test';
|
||||
import { expect } from '@playwright/test';
|
||||
|
||||
import { clickCollaborationPanel } from './setting';
|
||||
import { clickSideBarSettingButton } from './sidebar';
|
||||
|
||||
interface CreateWorkspaceParams {
|
||||
name: string;
|
||||
@@ -29,23 +25,3 @@ export async function createWorkspace(
|
||||
// click create button
|
||||
return page.getByRole('button', { name: 'Create' }).click();
|
||||
}
|
||||
|
||||
export async function assertCurrentWorkspaceFlavour(
|
||||
flavour: 'affine' | 'local',
|
||||
page: Page
|
||||
) {
|
||||
// @ts-expect-error
|
||||
const actual = await page.evaluate(() => globalThis.currentWorkspace.flavour);
|
||||
expect(actual).toBe(flavour);
|
||||
}
|
||||
|
||||
export async function enableAffineCloudWorkspace(page: Page) {
|
||||
await clickSideBarSettingButton(page);
|
||||
await page.waitForTimeout(50);
|
||||
await clickCollaborationPanel(page);
|
||||
await page.getByTestId('local-workspace-enable-cloud-button').click();
|
||||
await page.getByTestId('confirm-enable-cloud-button').click();
|
||||
await page.waitForSelector("[data-testid='member-length']", {
|
||||
timeout: 20000,
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user