mirror of https://github.com/logseq/logseq
149 lines
5.5 KiB
TypeScript
149 lines
5.5 KiB
TypeScript
import { expect } from '@playwright/test'
|
|
import { test } from './fixtures'
|
|
import { IsMac } from './utils'
|
|
|
|
test.skip('enable whiteboards', async ({ page }) => {
|
|
await page.evaluate(() => {
|
|
window.localStorage.removeItem('ls-onboarding-whiteboard?')
|
|
})
|
|
|
|
await expect(page.locator('.nav-header .whiteboard')).toBeHidden()
|
|
await page.click('#head .toolbar-dots-btn')
|
|
await page.click('#head .dropdown-wrapper >> text=Settings')
|
|
await page.click('.settings-modal a[data-id=features]')
|
|
await page.click('text=Whiteboards >> .. >> .ui__toggle')
|
|
await page.keyboard.press('Escape')
|
|
await expect(page.locator('.nav-header .whiteboard')).toBeVisible()
|
|
})
|
|
|
|
test.skip('create new whiteboard', async ({ page }) => {
|
|
await page.click('.nav-header .whiteboard')
|
|
await page.click('#tl-create-whiteboard')
|
|
await expect(page.locator('.logseq-tldraw')).toBeVisible()
|
|
})
|
|
|
|
test.skip('check if the page contains the onboarding whiteboard', async ({ page }) => {
|
|
await expect(page.locator('.tl-text-shape-wrapper >> text=Welcome to')).toHaveCount(1)
|
|
})
|
|
|
|
test.skip('cleanup the shapes', async ({ page }) => {
|
|
if (IsMac) {
|
|
await page.keyboard.press('Meta+a')
|
|
} else {
|
|
await page.keyboard.press('Control+a')
|
|
}
|
|
await page.keyboard.press('Delete')
|
|
await expect(page.locator('[data-type=Shape]')).toHaveCount(0)
|
|
})
|
|
|
|
test.skip('can right click title to show context menu', async ({ page }) => {
|
|
await page.click('.whiteboard-page-title', {
|
|
button: 'right',
|
|
})
|
|
|
|
await expect(page.locator('#custom-context-menu')).toBeVisible()
|
|
|
|
await page.keyboard.press('Escape')
|
|
|
|
await expect(page.locator('#custom-context-menu')).toHaveCount(0)
|
|
})
|
|
|
|
test.skip('set whiteboard title', async ({ page }) => {
|
|
const title = "my-whiteboard"
|
|
// Newly created whiteboard should have a default title
|
|
await expect(page.locator('.whiteboard-page-title .title')).toContainText("Untitled");
|
|
|
|
await page.click('.whiteboard-page-title')
|
|
await page.fill('.whiteboard-page-title input', title)
|
|
await page.keyboard.press('Enter')
|
|
await expect(page.locator('.whiteboard-page-title .title')).toContainText(title);
|
|
|
|
await page.click('.whiteboard-page-title')
|
|
await page.fill('.whiteboard-page-title input', title + "-2")
|
|
await page.keyboard.press('Enter')
|
|
|
|
// Updating non-default title should pop up a confirmation dialog
|
|
await expect(page.locator('.ui__confirm-modal >> .headline')).toContainText(`Do you really want to change the page name to “${title}-2”?`);
|
|
await page.click('.ui__confirm-modal button')
|
|
await expect(page.locator('.whiteboard-page-title .title')).toContainText(title + "-2");
|
|
})
|
|
|
|
test.skip('select rectangle tool', async ({ page }) => {
|
|
await page.keyboard.press('7')
|
|
await expect(page.locator('.tl-geometry-tools-pane-anchor [title*="Rectangle"]')).toHaveAttribute('data-selected', 'true')
|
|
})
|
|
|
|
test.skip('draw a rectangle', async ({ page }) => {
|
|
const canvas = await page.waitForSelector('.logseq-tldraw');
|
|
const bounds = (await canvas.boundingBox())!;
|
|
|
|
await page.keyboard.press('7')
|
|
|
|
await page.mouse.move(bounds.x + 5, bounds.y + 5);
|
|
await page.mouse.down();
|
|
|
|
await page.mouse.move(bounds.x + bounds.width / 2, bounds.y + bounds.height / 2);
|
|
await page.mouse.up();
|
|
|
|
await expect(page.locator('.logseq-tldraw .tl-positioned-svg rect')).not.toHaveCount(0);
|
|
})
|
|
|
|
test.skip('zoom in', async ({ page }) => {
|
|
await page.click('#tl-zoom-in')
|
|
await expect(page.locator('#tl-zoom')).toContainText('125%');
|
|
})
|
|
|
|
test.skip('zoom out', async ({ page }) => {
|
|
await page.click('#tl-zoom-out')
|
|
await expect(page.locator('#tl-zoom')).toContainText('100%');
|
|
})
|
|
|
|
test.skip('open context menu', async ({ page }) => {
|
|
await page.locator('.logseq-tldraw').click({ button: "right" })
|
|
await expect(page.locator('.tl-context-menu')).toBeVisible()
|
|
})
|
|
|
|
test.skip('close context menu on esc', async ({ page }) => {
|
|
await page.keyboard.press('Escape')
|
|
await expect(page.locator('.tl-context-menu')).toBeHidden()
|
|
})
|
|
|
|
test.skip('quick add another whiteboard', async ({ page }) => {
|
|
// create a new board first
|
|
await page.click('.nav-header .whiteboard')
|
|
await page.click('#tl-create-whiteboard')
|
|
|
|
await page.click('.whiteboard-page-title')
|
|
await page.fill('.whiteboard-page-title input', "my-whiteboard-3")
|
|
await page.keyboard.press('Enter')
|
|
|
|
const canvas = await page.waitForSelector('.logseq-tldraw');
|
|
await canvas.dblclick({
|
|
position: {
|
|
x: 100,
|
|
y: 100
|
|
}
|
|
})
|
|
|
|
const quickAdd$ = page.locator('.tl-quick-search')
|
|
await expect(quickAdd$).toBeVisible()
|
|
|
|
await page.fill('.tl-quick-search input', 'my-whiteboard')
|
|
await quickAdd$.locator('.tl-quick-search-option >> text=my-whiteboard-2').first().click()
|
|
|
|
await expect(quickAdd$).toBeHidden()
|
|
await expect(page.locator('.tl-logseq-portal-container >> text=my-whiteboard-2')).toBeVisible()
|
|
})
|
|
|
|
test.skip('go to another board and check reference', async ({ page }) => {
|
|
await page.locator('.tl-logseq-portal-container >> text=my-whiteboard-2').click()
|
|
await expect(page.locator('.whiteboard-page-title .title')).toContainText("my-whiteboard-2");
|
|
|
|
const pageRefCount$ = page.locator('.whiteboard-page-refs-count')
|
|
await expect(pageRefCount$.locator('.open-page-ref-link')).toContainText('1')
|
|
|
|
await pageRefCount$.click()
|
|
await expect(page.locator('.references-blocks')).toBeVisible()
|
|
await expect(page.locator('.references-blocks >> .page-ref >> text=my-whiteboard-3')).toBeVisible()
|
|
})
|