36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { test, expect } from '@playwright/test'
|
|
import { uiLogin } from '../utils/auth'
|
|
import { createIssueViaApi, deleteIssueViaApi } from '../utils/api-helpers'
|
|
|
|
test.describe('附件功能', () => {
|
|
let apiToken = ''
|
|
let issueId = 0
|
|
|
|
test.beforeEach(async ({ page, request }) => {
|
|
const created = await createIssueViaApi(request)
|
|
issueId = created.issue.id
|
|
apiToken = created.token
|
|
await uiLogin(page)
|
|
})
|
|
|
|
test.afterEach(async ({ request }) => {
|
|
if (issueId) {
|
|
await deleteIssueViaApi(request, issueId, apiToken).catch(() => {})
|
|
}
|
|
})
|
|
|
|
test('上传附件后列表显示文件信息', async ({ page }) => {
|
|
await page.goto(`/issues/${issueId}`)
|
|
await expect(page.getByText('附件 (0)')).toBeVisible()
|
|
|
|
await page.setInputFiles('input[type=file]', {
|
|
name: 'e2e-test.txt',
|
|
mimeType: 'text/plain',
|
|
buffer: Buffer.from('IMS E2E attachment content'),
|
|
})
|
|
await expect(page.getByText('上传成功')).toBeVisible()
|
|
await expect(page.getByText(/e2e-test\.txt/)).toBeVisible()
|
|
await expect(page.getByText(/附件 \(1\)/)).toBeVisible()
|
|
})
|
|
})
|