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

44 lines
1.3 KiB
TypeScript
Raw Normal View History

import { test } from '@affine-test/kit/playwright';
import { openHomePage } from '@affine-test/kit/utils/load-page';
import { dragTo, waitForEditorLoad } 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 waitForEditorLoad(page);
await page.getByTestId('app-sidebar').getByText('All Pages').click();
2023-07-07 17:15:27 +03:00
await page.waitForTimeout(500);
}
2023-09-11 09:42:45 +03:00
const title = 'AFFiNE - not just a note-taking app';
2023-06-28 11:45:05 +03:00
await dragTo(
page,
page.locator(`[role="button"]:has-text("${title}")`),
page.getByTestId('app-sidebar').getByText('Trash')
);
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);
});