From a3ecdcec2b18083a21c59612f8ab2f4fafc48172 Mon Sep 17 00:00:00 2001 From: tzhangchi Date: Fri, 23 Dec 2022 23:50:05 +0800 Subject: [PATCH] test: add test Local first export page --- tests/local-first-export-page.spec.ts | 84 +++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 tests/local-first-export-page.spec.ts diff --git a/tests/local-first-export-page.spec.ts b/tests/local-first-export-page.spec.ts new file mode 100644 index 0000000000..d3217f8ef7 --- /dev/null +++ b/tests/local-first-export-page.spec.ts @@ -0,0 +1,84 @@ +import { test, expect } from '@playwright/test'; +import { loadPage } from './libs/load-page'; + +loadPage(); + +test.describe('Local first export page', () => { + test('New a page ,then open it and export html', async ({ page }) => { + await page.getByText('New Page').click(); + await page.getByPlaceholder('Title').click(); + 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', { + 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' + ); + }); + + test('New a page ,then open it and export markdown', async ({ page }) => { + await page.getByText('New Page').click(); + await page.getByPlaceholder('Title').click(); + 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', { + 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' + ); + }); +});