Previously the value of new tab checkbox in the link feature was not able to be set to true by default because we were passing `false` as a default value. This fixes that and adds test coverage for customising that link drawer.
50 lines
1.2 KiB
TypeScript
50 lines
1.2 KiB
TypeScript
import type { Page } from 'playwright'
|
|
|
|
import { expect } from '@playwright/test'
|
|
|
|
export class LexicalHelpers {
|
|
page: Page
|
|
constructor(page: Page) {
|
|
this.page = page
|
|
}
|
|
|
|
async save(container: 'document' | 'drawer') {
|
|
if (container === 'drawer') {
|
|
await this.drawer.getByText('Save').click()
|
|
} else {
|
|
throw new Error('Not implemented')
|
|
}
|
|
await this.page.waitForTimeout(1000)
|
|
}
|
|
|
|
async slashCommand(
|
|
// prettier-ignore
|
|
command: 'block' | 'check' | 'code' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' |'h6' | 'inline'
|
|
| 'link' | 'ordered' | 'paragraph' | 'quote' | 'relationship' | 'unordered' | 'upload',
|
|
) {
|
|
await this.page.keyboard.press(`/`)
|
|
|
|
const slashMenuPopover = this.page.locator('#slash-menu .slash-menu-popup')
|
|
await expect(slashMenuPopover).toBeVisible()
|
|
await this.page.keyboard.type(command)
|
|
await this.page.keyboard.press(`Enter`)
|
|
await expect(slashMenuPopover).toBeHidden()
|
|
}
|
|
|
|
get decorator() {
|
|
return this.editor.locator('[data-lexical-decorator="true"]')
|
|
}
|
|
|
|
get drawer() {
|
|
return this.page.locator('.drawer__content')
|
|
}
|
|
|
|
get editor() {
|
|
return this.page.locator('[data-lexical-editor="true"]')
|
|
}
|
|
|
|
get paragraph() {
|
|
return this.editor.locator('p')
|
|
}
|
|
}
|