contract.spec.ts
864 Bytes
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.locator('.vue-flow-editor')).toBeVisible()
const contract = await page.evaluate(() => {
return window.__FLOW_EDITOR_TEST_API__?.getEditorContract()
})
expect(contract?.hasEditor).toBe(true)
expect(contract?.hasCommander).toBe(true)
expect(contract?.hasDelete).toBe(true)
expect(contract?.hasUndo).toBe(true)
expect(contract?.hasRedo).toBe(true)
expect(contract?.hasOpenModel).toBe(true)
expect(contract?.hasCloseModel).toBe(true)
expect(contract?.hasAddNode).toBe(true)
expect(contract?.hasUpdateModel).toBe(true)
expect(contract?.hasGraphRead).toBe(true)
})