95 lines
2.3 KiB
TypeScript
95 lines
2.3 KiB
TypeScript
import type { Page } from '@playwright/test'
|
|
import { test, expect } from './mind-elixir-test'
|
|
|
|
const data = {
|
|
nodeData: {
|
|
topic: 'root',
|
|
id: 'root',
|
|
children: [
|
|
{
|
|
id: 'middle1',
|
|
topic: 'middle1',
|
|
children: [
|
|
{
|
|
id: 'child1',
|
|
topic: 'child1',
|
|
},
|
|
{
|
|
id: 'child2',
|
|
topic: 'child2',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
id: 'middle2',
|
|
topic: 'middle2',
|
|
children: [
|
|
{
|
|
id: 'child3',
|
|
topic: 'child3',
|
|
},
|
|
{
|
|
id: 'child4',
|
|
topic: 'child4',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
}
|
|
|
|
test.beforeEach(async ({ me }) => {
|
|
await me.init(data)
|
|
})
|
|
|
|
const select = async (page: Page) => {
|
|
await page.mouse.move(200, 100)
|
|
await page.mouse.down()
|
|
await page.getByText('child2').hover({ force: true })
|
|
await page.mouse.up()
|
|
}
|
|
|
|
test('Multiple seletion', async ({ page }) => {
|
|
await select(page)
|
|
await expect(page.locator('.selected').filter({ hasText: 'child1' })).toBeVisible()
|
|
await expect(page.locator('.selected').filter({ hasText: 'child2' })).toBeVisible()
|
|
})
|
|
|
|
test('Multiple Move Before', async ({ page, me }) => {
|
|
await select(page)
|
|
await page.getByText('child1').hover({ force: true })
|
|
await page.mouse.down()
|
|
await me.dragOver('child3', 'before')
|
|
await expect(page.locator('.insert-preview.before')).toBeVisible()
|
|
await page.mouse.up()
|
|
await me.toHaveScreenshot()
|
|
})
|
|
|
|
test('Multiple Move After', async ({ page, me }) => {
|
|
await select(page)
|
|
await page.getByText('child1').hover({ force: true })
|
|
await page.mouse.down()
|
|
await me.dragOver('child3', 'after')
|
|
await expect(page.locator('.insert-preview.after')).toBeVisible()
|
|
await page.mouse.up()
|
|
await me.toHaveScreenshot()
|
|
})
|
|
|
|
test('Multiple Move In', async ({ page, me }) => {
|
|
await select(page)
|
|
await page.getByText('child1').hover({ force: true })
|
|
await page.mouse.down()
|
|
await me.dragOver('child3', 'in')
|
|
await expect(page.locator('.insert-preview.in')).toBeVisible()
|
|
await page.mouse.up()
|
|
await me.toHaveScreenshot()
|
|
})
|
|
|
|
test('Multiple Copy', async ({ page, me }) => {
|
|
await select(page)
|
|
await page.keyboard.press('Control+c')
|
|
await me.click('child3')
|
|
await page.keyboard.press('Control+v')
|
|
await me.toHaveScreenshot()
|
|
})
|