interaction.spec.ts
2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import { expect, test } from '@playwright/test'
import { mockFlowBootstrap } from '../helpers/mock-flow-api'
test('新项目页面应支持新增节点并删除当前选中节点', async ({ page }) => {
await mockFlowBootstrap(page)
await page.goto('/')
await expect(page.getByTestId('node-count-value')).toHaveText('2')
await page.getByTestId('add-approval-node').click()
await expect(page.getByTestId('node-count-value')).toHaveText('3')
await expect(page.getByTestId('selected-node-label')).toContainText('审批节点')
await page.getByTestId('delete-selected-node').click()
await expect(page.getByTestId('node-count-value')).toHaveText('2')
await expect(page.getByTestId('selected-node-label')).toHaveText('未选中节点')
})
test('新项目页面应支持缩放操作并打开预览面板', async ({ page }) => {
await mockFlowBootstrap(page)
await page.goto('/')
await expect(page.getByTestId('zoom-value')).toHaveText('1.0')
await page.getByTestId('toolbar-zoomIn').click()
await expect(page.getByTestId('zoom-value')).toHaveText('1.1')
await page.getByTestId('toolbar-actualView').click()
await expect(page.getByTestId('zoom-value')).toHaveText('1.0')
await page.getByTestId('open-preview-panel').click()
await expect(page.getByTestId('preview-panel')).toBeVisible()
await expect(page.getByTestId('preview-panel')).toContainText('审批节点')
})
test('新项目页面应支持更新节点名称并创建连线', async ({ page }) => {
await mockFlowBootstrap(page)
await page.goto('/')
await page.getByTestId('node-chip-start').click()
await expect(page.getByTestId('selected-node-label')).toContainText('开始节点')
await page.getByTestId('selected-node-name-input').fill('发起流程')
await page.getByTestId('save-node-name').click()
await expect(page.getByTestId('selected-node-label')).toContainText('发起流程')
await page.getByTestId('add-copy-node').click()
await expect(page.getByTestId('node-count-value')).toHaveText('3')
await page.getByTestId('node-chip-approve').click()
await page.getByTestId('create-edge-from-selection').click()
await expect(page.getByTestId('edge-count-value')).toHaveText('2')
await expect(page.getByTestId('selected-count-value')).toHaveText('2')
})
test('新项目页面应支持撤销与重做图数据改动', async ({ page }) => {
await mockFlowBootstrap(page)
await page.goto('/')
await expect(page.getByTestId('node-count-value')).toHaveText('2')
await page.getByTestId('add-copy-node').click()
await expect(page.getByTestId('node-count-value')).toHaveText('3')
await page.getByTestId('command-undo').click()
await expect(page.getByTestId('node-count-value')).toHaveText('2')
await page.getByTestId('command-redo').click()
await expect(page.getByTestId('node-count-value')).toHaveText('3')
})