mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-01 01:29:31 +08:00
feat: cloud sync tests (#643)
* fix: fix new page login in e2e test * test: add page-logic to simpliy new-page * test: sync clickPageMoreActions
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
import { loadPage } from './libs/load-page';
|
import { loadPage } from './libs/load-page';
|
||||||
|
import { clickPageMoreActions } from './libs/page-logic';
|
||||||
|
|
||||||
loadPage();
|
loadPage();
|
||||||
|
|
||||||
@@ -36,11 +37,7 @@ test.describe('Change page mode(Paper or Edgeless)', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('Convert to edgeless by editor header items', async ({ page }) => {
|
test('Convert to edgeless by editor header items', async ({ page }) => {
|
||||||
await page
|
await clickPageMoreActions(page);
|
||||||
.getByTestId('editor-header-items')
|
|
||||||
.getByRole('button')
|
|
||||||
.nth(2)
|
|
||||||
.click();
|
|
||||||
const menusEdgelessItem = page.getByTestId('editor-option-menu-edgeless');
|
const menusEdgelessItem = page.getByTestId('editor-option-menu-edgeless');
|
||||||
await menusEdgelessItem.click();
|
await menusEdgelessItem.click();
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
export async function newPage(page) {
|
||||||
|
return page.getByTestId('sliderBar').getByText('New Page').click();
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function clickPageMoreActions(page) {
|
||||||
|
return page
|
||||||
|
.getByTestId('editor-header-items')
|
||||||
|
.getByRole('button')
|
||||||
|
.nth(2)
|
||||||
|
.click();
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
import { loadPage } from './libs/load-page';
|
import { loadPage } from './libs/load-page';
|
||||||
|
import { newPage } from './libs/page-logic';
|
||||||
|
|
||||||
loadPage();
|
loadPage();
|
||||||
|
|
||||||
@@ -7,7 +8,7 @@ test.describe('Local first delete page', () => {
|
|||||||
test('New a page , then delete it in all pages, permanently delete it', async ({
|
test('New a page , then delete it in all pages, permanently delete it', async ({
|
||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
await page.getByText('New Page').click();
|
await newPage(page);
|
||||||
await page.getByPlaceholder('Title').click();
|
await page.getByPlaceholder('Title').click();
|
||||||
await page.getByPlaceholder('Title').fill('this is a new page to restore');
|
await page.getByPlaceholder('Title').fill('this is a new page to restore');
|
||||||
const originPageUrl = page.url();
|
const originPageUrl = page.url();
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
import { loadPage } from './libs/load-page';
|
import { loadPage } from './libs/load-page';
|
||||||
|
import { newPage, clickPageMoreActions } from './libs/page-logic';
|
||||||
loadPage();
|
loadPage();
|
||||||
|
|
||||||
test.describe('Local first export page', () => {
|
test.describe('Local first export page', () => {
|
||||||
@@ -18,11 +18,7 @@ test.describe('Local first export page', () => {
|
|||||||
expect(cell).not.toBeUndefined();
|
expect(cell).not.toBeUndefined();
|
||||||
|
|
||||||
await cell.click();
|
await cell.click();
|
||||||
await page
|
await clickPageMoreActions(page);
|
||||||
.getByTestId('editor-header-items')
|
|
||||||
.getByRole('button')
|
|
||||||
.nth(2)
|
|
||||||
.click();
|
|
||||||
const exportParentBtn = page.getByRole('tooltip', {
|
const exportParentBtn = page.getByRole('tooltip', {
|
||||||
name: 'Add to favourites Convert to Edgeless Export Delete',
|
name: 'Add to favourites Convert to Edgeless Export Delete',
|
||||||
});
|
});
|
||||||
@@ -37,7 +33,7 @@ test.describe('Local first export page', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('New a page ,then open it and export markdown', async ({ page }) => {
|
test('New a page ,then open it and export markdown', async ({ page }) => {
|
||||||
await page.getByText('New Page').click();
|
await newPage(page);
|
||||||
await page.getByPlaceholder('Title').click();
|
await page.getByPlaceholder('Title').click();
|
||||||
await page
|
await page
|
||||||
.getByPlaceholder('Title')
|
.getByPlaceholder('Title')
|
||||||
@@ -49,11 +45,7 @@ test.describe('Local first export page', () => {
|
|||||||
expect(cell).not.toBeUndefined();
|
expect(cell).not.toBeUndefined();
|
||||||
|
|
||||||
await cell.click();
|
await cell.click();
|
||||||
await page
|
await clickPageMoreActions(page);
|
||||||
.getByTestId('editor-header-items')
|
|
||||||
.getByRole('button')
|
|
||||||
.nth(2)
|
|
||||||
.click();
|
|
||||||
const exportParentBtn = page.getByRole('tooltip', {
|
const exportParentBtn = page.getByRole('tooltip', {
|
||||||
name: 'Add to favourites Convert to Edgeless Export Delete',
|
name: 'Add to favourites Convert to Edgeless Export Delete',
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
import { loadPage } from './libs/load-page';
|
import { loadPage } from './libs/load-page';
|
||||||
|
import { newPage, clickPageMoreActions } from './libs/page-logic';
|
||||||
loadPage();
|
loadPage();
|
||||||
|
|
||||||
test.describe('Local first favorite and cancel favorite page', () => {
|
test.describe('Local first favorite and cancel favorite page', () => {
|
||||||
test('New a page and open it ,then favorite it', async ({ page }) => {
|
test('New a page and open it ,then favorite it', async ({ page }) => {
|
||||||
await page.getByText('New Page').click();
|
await newPage(page);
|
||||||
await page.getByPlaceholder('Title').click();
|
await page.getByPlaceholder('Title').click();
|
||||||
await page.getByPlaceholder('Title').fill('this is a new page to favorite');
|
await page.getByPlaceholder('Title').fill('this is a new page to favorite');
|
||||||
await page.getByRole('link', { name: 'All pages' }).click();
|
await page.getByRole('link', { name: 'All pages' }).click();
|
||||||
@@ -15,16 +15,12 @@ test.describe('Local first favorite and cancel favorite page', () => {
|
|||||||
expect(cell).not.toBeUndefined();
|
expect(cell).not.toBeUndefined();
|
||||||
|
|
||||||
await cell.click();
|
await cell.click();
|
||||||
await page
|
await clickPageMoreActions(page);
|
||||||
.getByTestId('editor-header-items')
|
|
||||||
.getByRole('button')
|
|
||||||
.nth(2)
|
|
||||||
.click();
|
|
||||||
const favoriteBtn = page.getByTestId('editor-option-menu-favorite');
|
const favoriteBtn = page.getByTestId('editor-option-menu-favorite');
|
||||||
await favoriteBtn.click();
|
await favoriteBtn.click();
|
||||||
});
|
});
|
||||||
test('Cancel favorite', async ({ page }) => {
|
test('Cancel favorite', async ({ page }) => {
|
||||||
await page.getByText('New Page').click();
|
await newPage(page);
|
||||||
await page.getByPlaceholder('Title').click();
|
await page.getByPlaceholder('Title').click();
|
||||||
await page.getByPlaceholder('Title').fill('this is a new page to favorite');
|
await page.getByPlaceholder('Title').fill('this is a new page to favorite');
|
||||||
await page.getByRole('link', { name: 'All pages' }).click();
|
await page.getByRole('link', { name: 'All pages' }).click();
|
||||||
@@ -34,11 +30,7 @@ test.describe('Local first favorite and cancel favorite page', () => {
|
|||||||
expect(cell).not.toBeUndefined();
|
expect(cell).not.toBeUndefined();
|
||||||
|
|
||||||
await cell.click();
|
await cell.click();
|
||||||
await page
|
await clickPageMoreActions(page);
|
||||||
.getByTestId('editor-header-items')
|
|
||||||
.getByRole('button')
|
|
||||||
.nth(2)
|
|
||||||
.click();
|
|
||||||
|
|
||||||
const favoriteBtn = page.getByTestId('editor-option-menu-favorite');
|
const favoriteBtn = page.getByTestId('editor-option-menu-favorite');
|
||||||
await favoriteBtn.click();
|
await favoriteBtn.click();
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
import { loadPage } from './libs/load-page';
|
import { loadPage } from './libs/load-page';
|
||||||
|
import { newPage, clickPageMoreActions } from './libs/page-logic';
|
||||||
loadPage();
|
loadPage();
|
||||||
|
|
||||||
test.describe('Local first favorite items ui', () => {
|
test.describe('Local first favorite items ui', () => {
|
||||||
test('Show favorite items in sidebar', async ({ page }) => {
|
test('Show favorite items in sidebar', async ({ page }) => {
|
||||||
await page.getByText('New Page').click();
|
await newPage(page);
|
||||||
await page.getByPlaceholder('Title').click();
|
await page.getByPlaceholder('Title').click();
|
||||||
await page.getByPlaceholder('Title').fill('this is a new page to favorite');
|
await page.getByPlaceholder('Title').fill('this is a new page to favorite');
|
||||||
const newPageId = page.url().split('/').reverse()[0];
|
const newPageId = page.url().split('/').reverse()[0];
|
||||||
@@ -15,11 +15,7 @@ test.describe('Local first favorite items ui', () => {
|
|||||||
});
|
});
|
||||||
expect(cell).not.toBeUndefined();
|
expect(cell).not.toBeUndefined();
|
||||||
await cell.click();
|
await cell.click();
|
||||||
await page
|
await clickPageMoreActions(page);
|
||||||
.getByTestId('editor-header-items')
|
|
||||||
.getByRole('button')
|
|
||||||
.nth(2)
|
|
||||||
.click();
|
|
||||||
|
|
||||||
const favoriteBtn = page.getByTestId('editor-option-menu-favorite');
|
const favoriteBtn = page.getByTestId('editor-option-menu-favorite');
|
||||||
await favoriteBtn.click();
|
await favoriteBtn.click();
|
||||||
@@ -32,7 +28,7 @@ test.describe('Local first favorite items ui', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('Show favorite items in favorite list', async ({ page }) => {
|
test('Show favorite items in favorite list', async ({ page }) => {
|
||||||
await page.getByText('New Page').click();
|
await newPage(page);
|
||||||
await page.getByPlaceholder('Title').click();
|
await page.getByPlaceholder('Title').click();
|
||||||
await page.getByPlaceholder('Title').fill('this is a new page to favorite');
|
await page.getByPlaceholder('Title').fill('this is a new page to favorite');
|
||||||
await page.getByRole('link', { name: 'All pages' }).click();
|
await page.getByRole('link', { name: 'All pages' }).click();
|
||||||
@@ -41,11 +37,7 @@ test.describe('Local first favorite items ui', () => {
|
|||||||
});
|
});
|
||||||
expect(cell).not.toBeUndefined();
|
expect(cell).not.toBeUndefined();
|
||||||
await cell.click();
|
await cell.click();
|
||||||
await page
|
await clickPageMoreActions(page);
|
||||||
.getByTestId('editor-header-items')
|
|
||||||
.getByRole('button')
|
|
||||||
.nth(2)
|
|
||||||
.click();
|
|
||||||
|
|
||||||
const favoriteBtn = page.getByTestId('editor-option-menu-favorite');
|
const favoriteBtn = page.getByTestId('editor-option-menu-favorite');
|
||||||
await favoriteBtn.click();
|
await favoriteBtn.click();
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
import { loadPage } from './libs/load-page';
|
import { loadPage } from './libs/load-page';
|
||||||
|
import { newPage } from './libs/page-logic';
|
||||||
loadPage();
|
loadPage();
|
||||||
|
|
||||||
test.describe('local first new page', () => {
|
test.describe('local first new page', () => {
|
||||||
test('click btn new page', async ({ page }) => {
|
test('click btn new page', async ({ page }) => {
|
||||||
const originPageId = page.url().split('/').reverse()[0];
|
const originPageId = page.url().split('/').reverse()[0];
|
||||||
await page.getByText('New Page').click();
|
await newPage(page);
|
||||||
const newPageId = page.url().split('/').reverse()[0];
|
const newPageId = page.url().split('/').reverse()[0];
|
||||||
expect(newPageId).not.toBe(originPageId);
|
expect(newPageId).not.toBe(originPageId);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('click btn bew page and find it in all pages', async ({ page }) => {
|
test('click btn bew page and find it in all pages', async ({ page }) => {
|
||||||
await page.getByText('New Page').click();
|
await newPage(page);
|
||||||
await page.getByPlaceholder('Title').click();
|
await page.getByPlaceholder('Title').click();
|
||||||
await page.getByPlaceholder('Title').fill('this is a new page');
|
await page.getByPlaceholder('Title').fill('this is a new page');
|
||||||
await page.getByRole('link', { name: 'All pages' }).click();
|
await page.getByRole('link', { name: 'All pages' }).click();
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
import { loadPage } from './libs/load-page';
|
import { loadPage } from './libs/load-page';
|
||||||
|
import { newPage } from './libs/page-logic';
|
||||||
loadPage();
|
loadPage();
|
||||||
|
|
||||||
test.describe('local first new page', () => {
|
test.describe('local first new page', () => {
|
||||||
test('click btn bew page and open in tab', async ({ page }) => {
|
test('click btn bew page and open in tab', async ({ page }) => {
|
||||||
await page.getByText('New Page').click();
|
await newPage(page);
|
||||||
await page.getByPlaceholder('Title').click();
|
await page.getByPlaceholder('Title').click();
|
||||||
await page.getByPlaceholder('Title').fill('this is a new page');
|
await page.getByPlaceholder('Title').fill('this is a new page');
|
||||||
const newPageUrl = page.url();
|
const newPageUrl = page.url();
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
import { loadPage } from './libs/load-page';
|
import { loadPage } from './libs/load-page';
|
||||||
|
import { newPage } from './libs/page-logic';
|
||||||
loadPage();
|
loadPage();
|
||||||
|
|
||||||
test.describe('Local first delete page', () => {
|
test.describe('Local first delete page', () => {
|
||||||
test('New a page , then delete it in all pages, restore it', async ({
|
test('New a page , then delete it in all pages, restore it', async ({
|
||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
await page.getByText('New Page').click();
|
await newPage(page);
|
||||||
await page.getByPlaceholder('Title').click();
|
await page.getByPlaceholder('Title').click();
|
||||||
await page.getByPlaceholder('Title').fill('this is a new page to restore');
|
await page.getByPlaceholder('Title').fill('this is a new page to restore');
|
||||||
const originPageUrl = page.url();
|
const originPageUrl = page.url();
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
import { loadPage } from './libs/load-page';
|
import { loadPage } from './libs/load-page';
|
||||||
|
import { newPage, clickPageMoreActions } from './libs/page-logic';
|
||||||
loadPage();
|
loadPage();
|
||||||
|
|
||||||
test.describe('Local first delete page', () => {
|
test.describe('Local first delete page', () => {
|
||||||
test('New a page ,then open it and show delete modal', async ({ page }) => {
|
test('New a page ,then open it and show delete modal', async ({ page }) => {
|
||||||
await page.getByText('New Page').click();
|
await newPage(page);
|
||||||
await page.getByPlaceholder('Title').click();
|
await page.getByPlaceholder('Title').click();
|
||||||
await page.getByPlaceholder('Title').fill('this is a new page to delete');
|
await page.getByPlaceholder('Title').fill('this is a new page to delete');
|
||||||
await page.getByRole('link', { name: 'All pages' }).click();
|
await page.getByRole('link', { name: 'All pages' }).click();
|
||||||
@@ -15,11 +15,7 @@ test.describe('Local first delete page', () => {
|
|||||||
expect(cell).not.toBeUndefined();
|
expect(cell).not.toBeUndefined();
|
||||||
|
|
||||||
await cell.click();
|
await cell.click();
|
||||||
await page
|
await clickPageMoreActions(page);
|
||||||
.getByTestId('editor-header-items')
|
|
||||||
.getByRole('button')
|
|
||||||
.nth(2)
|
|
||||||
.click();
|
|
||||||
const deleteBtn = page.getByTestId('editor-option-menu-delete');
|
const deleteBtn = page.getByTestId('editor-option-menu-delete');
|
||||||
await deleteBtn.click();
|
await deleteBtn.click();
|
||||||
const confirmTip = page.getByText('Delete page?');
|
const confirmTip = page.getByText('Delete page?');
|
||||||
@@ -29,7 +25,7 @@ test.describe('Local first delete page', () => {
|
|||||||
test('New a page ,then go to all pages and show delete modal', async ({
|
test('New a page ,then go to all pages and show delete modal', async ({
|
||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
await page.getByText('New Page').click();
|
await newPage(page);
|
||||||
await page.getByPlaceholder('Title').click();
|
await page.getByPlaceholder('Title').click();
|
||||||
await page.getByPlaceholder('Title').fill('this is a new page to delete');
|
await page.getByPlaceholder('Title').fill('this is a new page to delete');
|
||||||
const newPageId = page.url().split('/').reverse()[0];
|
const newPageId = page.url().split('/').reverse()[0];
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
import { loadPage } from './libs/load-page';
|
import { loadPage } from './libs/load-page';
|
||||||
|
import { newPage } from './libs/page-logic';
|
||||||
loadPage();
|
loadPage();
|
||||||
|
|
||||||
test.describe('Local first trash page', () => {
|
test.describe('Local first trash page', () => {
|
||||||
test('New a page , then delete it in all pages, finally find it in trash', async ({
|
test('New a page , then delete it in all pages, finally find it in trash', async ({
|
||||||
page,
|
page,
|
||||||
}) => {
|
}) => {
|
||||||
await page.getByText('New Page').click();
|
await newPage(page);
|
||||||
await page.getByPlaceholder('Title').click();
|
await page.getByPlaceholder('Title').click();
|
||||||
await page.getByPlaceholder('Title').fill('this is a new page to delete');
|
await page.getByPlaceholder('Title').fill('this is a new page to delete');
|
||||||
const newPageId = page.url().split('/').reverse()[0];
|
const newPageId = page.url().split('/').reverse()[0];
|
||||||
|
|||||||
Reference in New Issue
Block a user