import { test } from '@affine-test/kit/playwright'; import { openHomePage } from '@affine-test/kit/utils/load-page'; import { clickNewPageButton, getBlockSuiteEditorTitle, getPageOperationButton, waitForEditorLoad, } from '@affine-test/kit/utils/page-logic'; import { getCurrentDocIdFromUrl } from '@affine-test/kit/utils/url'; import { expect } from '@playwright/test'; test('New a page , then delete it in all pages, restore it', async ({ page, workspace, }) => { await openHomePage(page); await waitForEditorLoad(page); await clickNewPageButton(page); await getBlockSuiteEditorTitle(page).click(); await getBlockSuiteEditorTitle(page).fill('this is a new page to restore'); const newPageId = getCurrentDocIdFromUrl(page); await page.getByTestId('all-pages').click(); const cell = page.getByRole('cell', { name: 'this is a new page to restore', }); expect(cell).not.toBeUndefined(); await getPageOperationButton(page, newPageId).click(); const deleteBtn = page.getByTestId('move-to-trash'); await deleteBtn.click(); const confirmTip = page.getByText('Delete page?'); expect(confirmTip).not.toBeUndefined(); await page.getByRole('button', { name: 'Delete' }).click(); await page.getByTestId('trash-page').click(); await page.waitForTimeout(50); const trashPage = page.url(); // restore it await page.getByTestId('restore-page-button').click(); // stay in trash page expect(page.url()).toBe(trashPage); await page.getByTestId('all-pages').click(); const restoreCell = page.getByRole('cell', { name: 'this is a new page to restore', }); expect(restoreCell).not.toBeUndefined(); const currentWorkspace = await workspace.current(); expect(currentWorkspace.meta.flavour).toContain('local'); });