chore: remove redundant await in test cases

This commit is contained in:
Yifeng Wang
2022-12-25 08:49:30 +08:00
parent 5e58269abd
commit a0e14e448a
15 changed files with 49 additions and 146 deletions
+5 -9
View File
@@ -7,7 +7,7 @@ test.describe('Change page mode(Paper or Edgeless)', () => {
test('Switch to edgeless by switch edgeless item', async ({ page }) => {
const switcher = page.locator('[data-testid=editor-mode-switcher]');
const box = await switcher.boundingBox();
await expect(box?.x).not.toBeUndefined();
expect(box?.x).not.toBeUndefined();
// mouse hover trigger animation for showing full switcher
// await page.mouse.move((box?.x ?? 0) + 5, (box?.y ?? 0) + 5);
@@ -15,7 +15,6 @@ test.describe('Change page mode(Paper or Edgeless)', () => {
// await page.waitForTimeout(1000);
const edgelessButton = page.getByTestId('switch-edgeless-item'); // page.getByText('Edgeless').click()
await edgelessButton.click();
// // mouse move to edgeless button
@@ -32,9 +31,8 @@ test.describe('Change page mode(Paper or Edgeless)', () => {
// (box?.y ?? 0) + 5
// );
const edgelessDom = page.locator('affine-edgeless-page');
await expect(await edgelessDom.isVisible()).toBe(true);
const edgeless = page.locator('affine-edgeless-page');
expect(await edgeless.isVisible()).toBe(true);
});
test('Convert to edgeless by editor header items', async ({ page }) => {
@@ -44,11 +42,9 @@ test.describe('Change page mode(Paper or Edgeless)', () => {
.nth(2)
.click();
const menusEdgelessItem = page.getByTestId('editor-option-menu-edgeless');
await menusEdgelessItem.click();
const edgelessDom = page.locator('affine-edgeless-page');
await expect(await edgelessDom.isVisible()).toBe(true);
const edgeless = page.locator('affine-edgeless-page');
expect(await edgeless.isVisible()).toBe(true);
});
});
+6 -7
View File
@@ -1,4 +1,4 @@
import { test, expect, type Page } from '@playwright/test';
import { test, expect } from '@playwright/test';
import { loadPage } from './libs/load-page';
loadPage();
@@ -7,9 +7,8 @@ test.describe('Open contact us', () => {
test('Click about us', async ({ page }) => {
const currentWorkspace = page.getByTestId('current-workspace');
await currentWorkspace.click();
page.waitForTimeout(1000);
// await page.waitForTimeout(1000);
await page.getByText('About AFFiNE').click();
const contactUsModal = page.locator(
'[data-testid=contact-us-modal-content]'
);
@@ -18,16 +17,16 @@ test.describe('Open contact us', () => {
test('Click right-bottom corner contact icon', async ({ page }) => {
const faqIcon = page.locator('[data-testid=faq-icon]');
const box = await faqIcon.boundingBox();
await expect(box?.x).not.toBeUndefined();
await page.mouse.move((box?.x ?? 0) + 10, (box?.y ?? 0) + 10);
expect(box?.x).not.toBeUndefined();
await page.mouse.move((box?.x ?? 0) + 10, (box?.y ?? 0) + 10);
await page.mouse.move((box?.x ?? 0) + 5, (box?.y ?? 0) + 5);
const rightBottomContactUs = page.locator(
'[data-testid=right-bottom-contact-us-icon]'
);
await expect(await rightBottomContactUs.isVisible()).toEqual(true);
expect(await rightBottomContactUs.isVisible()).toEqual(true);
await rightBottomContactUs.click();
const contactUsModal = page.locator(
'[data-testid=contact-us-modal-content]'
);
+2 -3
View File
@@ -8,8 +8,7 @@ test.describe('exception page', () => {
test('visit 404 page', async ({ page }) => {
await page.goto('http://localhost:8080/404');
await page.waitForTimeout(1000);
const notFoundTipDom = await page.getByText('404 - Page Not Found');
await expect(await notFoundTipDom.isVisible()).toBe(true);
const notFoundTip = page.getByText('404 - Page Not Found');
expect(await notFoundTip.isVisible()).toBe(true);
});
});
+1 -4
View File
@@ -8,9 +8,6 @@ test.describe('invite code page', () => {
test('the link has expired', async ({ page }) => {
await page.goto('http://localhost:8080//invite/abc');
await page.waitForTimeout(1000);
await expect(
await page.getByText('The link has expired')
).not.toBeUndefined();
expect(page.getByText('The link has expired')).not.toBeUndefined();
});
});
+3 -8
View File
@@ -1,4 +1,4 @@
import { test, expect, type Page } from '@playwright/test';
import { test, expect } from '@playwright/test';
import { loadPage } from './libs/load-page';
loadPage();
@@ -6,25 +6,20 @@ loadPage();
test.describe('Layout ui', () => {
test('Collapse Sidebar', async ({ page }) => {
await page.getByTestId('sliderBar-arrowButton').click();
const sliderBarArea = await page.getByText(
const sliderBarArea = page.getByText(
'Quick search All pagesFavouritesNo item Import Trash New Page'
);
await expect(sliderBarArea).not.toBeVisible();
});
test('Expand Sidebar', async ({ page }) => {
await page.getByTestId('sliderBar-arrowButton').click();
const sliderBarArea = await page.getByText(
const sliderBarArea = page.getByText(
'Quick search All pagesFavouritesNo item Import Trash New Page'
);
await expect(sliderBarArea).not.toBeVisible();
await page.getByTestId('sliderBar-arrowButton').click();
await expect(sliderBarArea).toBeVisible();
});
});
-17
View File
@@ -1,8 +1,6 @@
import type { Page } from '@playwright/test';
const IS_MAC = process.platform === 'darwin';
// const IS_WINDOWS = process.platform === 'win32';
// const IS_LINUX = !IS_MAC && !IS_WINDOWS;
async function keyDownCtrlOrMeta(page: Page) {
if (IS_MAC) {
@@ -19,21 +17,6 @@ async function keyUpCtrlOrMeta(page: Page) {
await page.keyboard.up('Control');
}
}
async function keyDownOptionMeta(page: Page) {
if (IS_MAC) {
await page.keyboard.down('Alt');
} else {
await page.keyboard.down('Shift');
}
}
async function keyUpOptionMeta(page: Page) {
if (IS_MAC) {
await page.keyboard.up('Alt');
} else {
await page.keyboard.up('Shift');
}
}
// It's not good enough, but better than calling keyDownCtrlOrMeta and keyUpCtrlOrMeta separately
export const withCtrlOrMeta = async (page: Page, fn: () => Promise<void>) => {
+2 -16
View File
@@ -8,29 +8,21 @@ test.describe('Local first delete page', () => {
await page.getByText('New Page').click();
await page.getByPlaceholder('Title').click();
await page.getByPlaceholder('Title').fill('this is a new page to delete');
await page.getByRole('link', { name: 'All pages' }).click();
const cell = await page.getByRole('cell', {
const cell = page.getByRole('cell', {
name: 'this is a new page to delete',
});
expect(cell).not.toBeUndefined();
await cell.click();
await page
.getByTestId('editor-header-items')
.getByRole('button')
.nth(2)
.click();
const deleteBtn = page.getByTestId('editor-option-menu-delete');
await deleteBtn.click();
const confirmTip = page.getByText('Delete page?');
expect(confirmTip).not.toBeUndefined();
});
@@ -42,11 +34,9 @@ test.describe('Local first delete page', () => {
await page.getByPlaceholder('Title').fill('this is a new page to delete');
const newPageId = page.url().split('/').reverse()[0];
await page.getByRole('link', { name: 'All pages' }).click();
const cell = await page.getByRole('cell', {
const cell = page.getByRole('cell', {
name: 'this is a new page to delete',
});
expect(cell).not.toBeUndefined();
await page
@@ -54,13 +44,9 @@ test.describe('Local first delete page', () => {
.getByRole('button')
.first()
.click();
const deleteBtn = page.getByRole('button', { name: 'Delete' });
await deleteBtn.click();
const confirmTip = page.getByText('Delete page?');
expect(confirmTip).not.toBeUndefined();
});
});
+2 -17
View File
@@ -10,34 +10,27 @@ test.describe('Local first export page', () => {
await page
.getByPlaceholder('Title')
.fill('this is a new page to export html content');
await page.getByRole('link', { name: 'All pages' }).click();
const cell = await page.getByRole('cell', {
const cell = page.getByRole('cell', {
name: 'this is a new page to export html content',
});
expect(cell).not.toBeUndefined();
await cell.click();
await page
.getByTestId('editor-header-items')
.getByRole('button')
.nth(2)
.click();
const exportParentBtn = page.getByRole('tooltip', {
name: 'Add to favourites Convert to Edgeless Export Delete',
});
await exportParentBtn.click();
const [download] = await Promise.all([
page.waitForEvent('download'),
page.getByRole('button', { name: 'Export to HTML' }).click(),
]);
expect(download.suggestedFilename()).toBe(
'this is a new page to export html content.html'
);
@@ -49,34 +42,26 @@ test.describe('Local first export page', () => {
await page
.getByPlaceholder('Title')
.fill('this is a new page to export markdown content');
await page.getByRole('link', { name: 'All pages' }).click();
const cell = await page.getByRole('cell', {
const cell = page.getByRole('cell', {
name: 'this is a new page to export markdown content',
});
expect(cell).not.toBeUndefined();
await cell.click();
await page
.getByTestId('editor-header-items')
.getByRole('button')
.nth(2)
.click();
const exportParentBtn = page.getByRole('tooltip', {
name: 'Add to favourites Convert to Edgeless Export Delete',
});
await exportParentBtn.click();
const [download] = await Promise.all([
page.waitForEvent('download'),
page.getByRole('button', { name: 'Export to Markdown' }).click(),
]);
expect(download.suggestedFilename()).toBe(
'this is a new page to export markdown content.md'
);
+9 -36
View File
@@ -8,25 +8,19 @@ test.describe('Local first favorite page', () => {
await page.getByText('New Page').click();
await page.getByPlaceholder('Title').click();
await page.getByPlaceholder('Title').fill('this is a new page to favorite');
await page.getByRole('link', { name: 'All pages' }).click();
const cell = await page.getByRole('cell', {
const cell = page.getByRole('cell', {
name: 'this is a new page to favorite',
});
expect(cell).not.toBeUndefined();
await cell.click();
await page
.getByTestId('editor-header-items')
.getByRole('button')
.nth(2)
.click();
const favoriteBtn = page.getByTestId('editor-option-menu-favorite');
await favoriteBtn.click();
});
@@ -35,17 +29,12 @@ test.describe('Local first favorite page', () => {
await page.getByPlaceholder('Title').click();
await page.getByPlaceholder('Title').fill('this is a new page to favorite');
const newPageId = page.url().split('/').reverse()[0];
await page.getByRole('link', { name: 'All pages' }).click();
const cell = await page.getByRole('cell', {
const cell = page.getByRole('cell', {
name: 'this is a new page to favorite',
});
expect(cell).not.toBeUndefined();
await cell.click();
await page
.getByTestId('editor-header-items')
.getByRole('button')
@@ -53,13 +42,10 @@ test.describe('Local first favorite page', () => {
.click();
const favoriteBtn = page.getByTestId('editor-option-menu-favorite');
await favoriteBtn.click();
const favoriteListItemInSidebar = await page.getByTestId(
const favoriteListItemInSidebar = page.getByTestId(
'favorite-list-item-' + newPageId
);
expect(await favoriteListItemInSidebar.textContent()).toBe(
'this is a new page to favorite'
);
@@ -69,17 +55,12 @@ test.describe('Local first favorite page', () => {
await page.getByText('New Page').click();
await page.getByPlaceholder('Title').click();
await page.getByPlaceholder('Title').fill('this is a new page to favorite');
await page.getByRole('link', { name: 'All pages' }).click();
const cell = await page.getByRole('cell', {
const cell = page.getByRole('cell', {
name: 'this is a new page to favorite',
});
expect(cell).not.toBeUndefined();
await cell.click();
await page
.getByTestId('editor-header-items')
.getByRole('button')
@@ -87,13 +68,11 @@ test.describe('Local first favorite page', () => {
.click();
const favoriteBtn = page.getByTestId('editor-option-menu-favorite');
await favoriteBtn.click();
await page.getByRole('link', { name: 'Favourites' }).click();
expect(
await page.getByRole('cell', { name: 'this is a new page to favorite' })
page.getByRole('cell', { name: 'this is a new page to favorite' })
).not.toBeUndefined();
});
@@ -101,17 +80,13 @@ test.describe('Local first favorite page', () => {
await page.getByText('New Page').click();
await page.getByPlaceholder('Title').click();
await page.getByPlaceholder('Title').fill('this is a new page to favorite');
await page.getByRole('link', { name: 'All pages' }).click();
const cell = await page.getByRole('cell', {
const cell = page.getByRole('cell', {
name: 'this is a new page to favorite',
});
expect(cell).not.toBeUndefined();
await cell.click();
await page
.getByTestId('editor-header-items')
.getByRole('button')
@@ -119,24 +94,22 @@ test.describe('Local first favorite page', () => {
.click();
const favoriteBtn = page.getByTestId('editor-option-menu-favorite');
await favoriteBtn.click();
// expect it in favorite list
await page.getByRole('link', { name: 'Favourites' }).click();
expect(
await page.getByRole('cell', { name: 'this is a new page to favorite' })
page.getByRole('cell', { name: 'this is a new page to favorite' })
).not.toBeUndefined();
// cancel favorite
await page.getByRole('link', { name: 'All pages' }).click();
await page.getByTestId('favourited-icon').click();
//expect it not in favorite list
// expect it not in favorite list
await page.getByRole('link', { name: 'Favourites' }).click();
expect(
await page.getByText(
page.getByText(
'Tips: Click Add to Favourites/Trash and the page will appear here.'
)
).not.toBeUndefined();
+1 -5
View File
@@ -8,7 +8,6 @@ test.describe('Local first new page', () => {
const originPageUrl = page.url();
await page.getByText('New Page').click();
const newPageUrl = page.url();
expect(newPageUrl).not.toBe(originPageUrl);
expect(newPageUrl.length).toBe(originPageUrl.length);
});
@@ -17,11 +16,8 @@ test.describe('Local first new page', () => {
await page.getByText('New Page').click();
await page.getByPlaceholder('Title').click();
await page.getByPlaceholder('Title').fill('this is a new page');
await page.getByRole('link', { name: 'All pages' }).click();
const cell = await page.getByRole('cell', { name: 'this is a new page' });
const cell = page.getByRole('cell', { name: 'this is a new page' });
expect(cell).not.toBeUndefined();
});
});
+2 -2
View File
@@ -5,12 +5,12 @@ loadPage();
test.describe('Local first default workspace', () => {
test('Default workspace name', async ({ page }) => {
const workspaceName = await page.getByTestId('workspace-name');
const workspaceName = page.getByTestId('workspace-name');
expect(await workspaceName.textContent()).toBe('AFFiNE');
});
test('Default workspace avatar', async ({ page }) => {
const workspaceAvatar = await page.getByTestId('workspace-avatar');
const workspaceAvatar = page.getByTestId('workspace-avatar');
expect(await workspaceAvatar.innerHTML()).toBe(
'<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.5" y="0.5" width="39" height="39" rx="19.5" stroke="#6880FF" fill="#FFF"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M18.6303 8.79688L11.2559 29.8393H15.5752L20.2661 15.2858L24.959 29.8393H29.2637L21.8881 8.79688H18.6303Z" fill="#6880FF"></path></svg>'
);
+2 -4
View File
@@ -1,4 +1,4 @@
import { test, expect, type Page } from '@playwright/test';
import { test, expect } from '@playwright/test';
import { loadPage } from './libs/load-page';
loadPage();
@@ -39,8 +39,6 @@ test.describe('Login Flow', () => {
.click(),
]);
expect(await firebasePage.url()).toContain(
'.firebaseapp.com/__/auth/handler'
);
expect(firebasePage.url()).toContain('.firebaseapp.com/__/auth/handler');
});
});
+5 -4
View File
@@ -3,9 +3,6 @@ import { loadPage } from './libs/load-page';
import { withCtrlOrMeta } from './libs/keyboard';
loadPage();
const IS_MAC = process.platform === 'darwin';
// const IS_WINDOWS = process.platform === 'win32';
// const IS_LINUX = !IS_MAC && !IS_WINDOWS;
const openQuickSearchByShortcut = async (page: Page) =>
await withCtrlOrMeta(page, () => page.keyboard.press('k', { delay: 50 }));
@@ -44,6 +41,7 @@ test.describe('Open quick search', () => {
const quickSearch = page.locator('[data-testid=quickSearch]');
await expect(quickSearch).toBeVisible();
});
test('Click arrowDown icon after title', async ({ page }) => {
//header-quickSearchButton
const quickSearchButton = page.locator(
@@ -53,6 +51,7 @@ test.describe('Open quick search', () => {
const quickSearch = page.locator('[data-testid=quickSearch]');
await expect(quickSearch).toBeVisible();
});
test('Press the shortcut key cmd+k', async ({ page }) => {
await openQuickSearchByShortcut(page);
const quickSearch = page.locator('[data-testid=quickSearch]');
@@ -61,13 +60,14 @@ test.describe('Open quick search', () => {
});
test.describe('Add new page in quick search', () => {
//TODO FIXME: This test is not working
// FIXME: not working
test.skip('Create a new page without keyword', async ({ page }) => {
await openQuickSearchByShortcut(page);
const addNewPage = page.locator('[data-testid=quickSearch-addNewPage]');
await addNewPage.click();
await assertTitleTexts(page, [''], { delay: 50 });
});
test.skip('Create a new page with keyword', async ({ page }) => {
await openQuickSearchByShortcut(page);
await page.keyboard.insertText('test');
@@ -95,6 +95,7 @@ test.describe('Search and select', () => {
await openQuickSearchByShortcut(page);
await page.keyboard.insertText('Welcome');
await assertResultList(page, ['Welcome to the AFFiNE Alpha', 'Welcome']);
await page.keyboard.press('ArrowDown', { delay: 50 });
await page.keyboard.press('Enter', { delay: 50 });
await assertTitleTexts(page, ['Welcome'], {
+2 -3
View File
@@ -7,14 +7,13 @@ test.describe('Shortcuts Modal', () => {
test('Open shortcuts modal', async ({ page }) => {
const faqIcon = page.locator('[data-testid=faq-icon]');
const box = await faqIcon.boundingBox();
await expect(box?.x).not.toBeUndefined();
expect(box?.x).not.toBeUndefined();
await page.mouse.move((box?.x ?? 0) + 5, (box?.y ?? 0) + 5);
const shortcutsIcon = page.locator('[data-testid=shortcuts-icon]');
await expect(await shortcutsIcon.isVisible()).toEqual(true);
expect(await shortcutsIcon.isVisible()).toEqual(true);
await shortcutsIcon.click();
const shortcutsModal = page.locator('[data-testid=shortcuts-modal]');
await expect(shortcutsModal).toContainText('Keyboard Shortcuts');
});
+7 -11
View File
@@ -1,4 +1,4 @@
import { test, expect, type Page } from '@playwright/test';
import { test, expect } from '@playwright/test';
import { loadPage } from './libs/load-page';
loadPage();
@@ -9,14 +9,13 @@ test.describe('Change Theme', () => {
const themeMode = await root.evaluate(element =>
window.getComputedStyle(element).getPropertyValue('--affine-theme-mode')
);
await expect(themeMode).toBe('light');
expect(themeMode).toBe('light');
const lightButton = page.locator('[data-testid=change-theme-light]');
const buttonPositionTop = await lightButton.evaluate(
element => window.getComputedStyle(element).top
);
await expect(buttonPositionTop).toBe('0px');
expect(buttonPositionTop).toBe('0px');
});
test('change theme to dark', async ({ page }) => {
@@ -24,24 +23,21 @@ test.describe('Change Theme', () => {
'[data-testid=change-theme-container]'
);
const box = await changeThemeContainer.boundingBox();
await expect(box?.x).not.toBeUndefined();
expect(box?.x).not.toBeUndefined();
await page.mouse.move((box?.x ?? 0) + 5, (box?.y ?? 0) + 5);
await page.waitForTimeout(1000);
const darkButton = page.locator('[data-testid=change-theme-dark]');
const darkButtonPositionTop = await darkButton.evaluate(
element => element.getBoundingClientRect().y
);
await expect(darkButtonPositionTop).toBe(box?.y);
expect(darkButtonPositionTop).toBe(box?.y);
await page.mouse.click((box?.x ?? 0) + 5, (box?.y ?? 0) + 5);
const root = page.locator('html');
const themeMode = await root.evaluate(element =>
window.getComputedStyle(element).getPropertyValue('--affine-theme-mode')
);
await expect(themeMode).toBe('dark');
expect(themeMode).toBe('dark');
});
});