logseq/e2e-tests/headings.spec.ts

81 lines
2.8 KiB
TypeScript

import { expect } from '@playwright/test'
import { test } from './fixtures'
import { createRandomPage, editFirstBlock, newInnerBlock } from './utils'
test('set heading to 1', async ({ page }) => {
await createRandomPage(page)
await page.type('textarea >> nth=0', 'foo')
await page.keyboard.press('Escape', { delay: 50 })
await page.locator('span.bullet-container >> nth=0').click({button: "right"})
await page.locator('#custom-context-menu .to-heading-button[title="Heading 1"]').click()
await editFirstBlock(page)
await page.waitForTimeout(500)
expect(await page.inputValue('textarea >> nth=0')).toBe('# foo')
await page.keyboard.press('Escape', { delay: 50 })
expect(await page.locator('.ls-block .block-content >> nth=0').innerHTML()).toContain('<h1>foo</h1>')
})
test('remove heading', async ({ page }) => {
await page.locator('span.bullet-container >> nth=0').click({button: "right"})
await page.locator('#custom-context-menu .to-heading-button[title="Remove heading"]').click()
expect(await page.locator('.ls-block .block-content >> nth=0').innerHTML()).toContain('foo')
})
test('set heading to 2', async ({ page }) => {
await page.locator('span.bullet-container >> nth=0').click({button: "right"})
await page.locator('#custom-context-menu .to-heading-button[title="Heading 2"]').click({ delay: 400})
expect(await page.locator('.ls-block .block-content >> nth=0').innerHTML()).toContain('<h2>foo</h2>')
})
test('switch to auto heading', async ({ page }) => {
await page.locator('span.bullet-container >> nth=0').click({button: "right"})
await page.locator('#custom-context-menu .to-heading-button[title="Auto heading"]').click()
await editFirstBlock(page)
await page.waitForTimeout(500)
expect(await page.inputValue('textarea >> nth=0')).toBe('foo')
await page.keyboard.press('Escape', { delay: 50 })
expect(await page.locator('.ls-block .block-content >> nth=0').innerHTML()).toContain('<h1>foo</h1>')
})
test('set heading of nested block to auto', async ({ page }) => {
await newInnerBlock(page)
await page.waitForTimeout(500)
await page.type('textarea >> nth=0', 'bar')
await page.keyboard.press("Tab", { delay: 100 })
await page.keyboard.press('Escape', { delay: 100 })
await page.locator('span.bullet-container >> nth=1').click({button: "right"})
await page.locator('#custom-context-menu .to-heading-button[title="Auto heading"]').click()
await page.waitForTimeout(100)
expect(await page.locator('.ls-block .block-content >> nth=1').innerHTML()).toContain('<h2>bar</h2>')
})
test('view nested block on a dedicated page', async ({ page }) => {
await page.locator('span.bullet-container >> nth=1').click()
await page.waitForTimeout(200)
expect(await page.locator('.ls-block .block-content >> nth=0').innerHTML()).toContain('<h1>bar</h1>')
})