mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-04 00:28:33 +00:00
Sometimes, missing `await` in the test code can cause timing issues, leading to test failures. This PR enables the `no-floating-promises` rule for the test code to ensure that such errors do not occur.
34 lines
984 B
TypeScript
34 lines
984 B
TypeScript
import { test } from '@affine-test/kit/playwright';
|
|
import { createRandomUser, loginUser } from '@affine-test/kit/utils/cloud';
|
|
import { waitForEditorLoad } from '@affine-test/kit/utils/page-logic';
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
const user = await createRandomUser();
|
|
await loginUser(page, user);
|
|
});
|
|
|
|
test('import from template should work', async ({ page }) => {
|
|
await page.goto('https://affine.pro/templates', { waitUntil: 'load' });
|
|
|
|
await page.click('.template-list > a:first-child');
|
|
const importLink = page.getByText('Use this template');
|
|
|
|
const href = await importLink.evaluate((el: HTMLElement) => {
|
|
const a = el.closest('a');
|
|
if (!a) {
|
|
throw new Error('Import link not found');
|
|
}
|
|
return a.href;
|
|
});
|
|
|
|
const url = new URL(href);
|
|
|
|
await page.goto(url.pathname + url.search);
|
|
|
|
const btn = page.getByTestId('import-template-to-workspace-btn');
|
|
|
|
await btn.isVisible();
|
|
await btn.click();
|
|
await waitForEditorLoad(page);
|
|
});
|