AFFiNE/tests/affine-local/e2e/drag-page-to-trash-folder.spec.ts

46 lines
1.4 KiB
TypeScript
Raw Normal View History

import { test } from '@affine-test/kit/playwright';
import { openHomePage } from '@affine-test/kit/utils/load-page';
import { waitEditorLoad } from '@affine-test/kit/utils/page-logic';
import { expect } from '@playwright/test';
test('drag a page from "All pages" list onto the "Trash" folder in the sidebar to move it to trash list', async ({
page,
}) => {
// TODO-Doma
// Init test db with known workspaces and open "All Pages" page via url directly
{
await openHomePage(page);
await waitEditorLoad(page);
await page.getByText('All Pages').click();
2023-07-07 17:15:27 +03:00
await page.waitForTimeout(500);
}
2023-06-28 11:45:05 +03:00
const title = 'AFFiNE - not just a note taking app';
// Drag-and-drop
// Ref: https://playwright.dev/docs/input#dragging-manually
2023-06-28 11:45:05 +03:00
await page.getByText(title).hover();
await page.mouse.down();
2023-05-31 11:22:43 +03:00
await page.waitForTimeout(1000);
await page.getByText('Trash').hover();
await page.mouse.up();
await expect(
page.getByText('Successfully deleted'),
'A toast containing success message is shown'
).toBeVisible();
await expect(
2023-06-28 11:45:05 +03:00
page.getByText(title),
'The deleted post is no longer on the All Page list'
).toHaveCount(0);
// TODO-Doma
// Visit trash page via url
await page.getByText('Trash', { exact: true }).click();
await expect(
2023-06-28 11:45:05 +03:00
page.getByText(title),
'The deleted post exists in the Trash list'
).toHaveCount(1);
});