Files
user-system/frontend/admin/src/lib/playwright-e2e-scenarios.test.ts
long-agent 2a18a6fb47 fix(n+1): 批量查询替代循环单查
- IsAdminBootstrapRequired: userRepo.GetByID 循环 → GetByIDs 批量
- AssignRoles: roleRepo.GetByID 循环 → GetByIDs 批量
- 在 userRepositoryInterface 补充 GetByIDs 方法签名
2026-05-08 08:05:26 +08:00

34 lines
1.2 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { BASE_SCENARIO_NAMES, parseSelectedScenarioNames, selectScenarioNames } from '../../scripts/playwright-e2e-scenarios.mjs'
describe('playwright-e2e-scenarios', () => {
it('prepends admin bootstrap when capabilities require it', () => {
const scenarioNames = selectScenarioNames({
requestedScenarioNames: parseSelectedScenarioNames(''),
expectAdminBootstrap: true,
})
expect(scenarioNames[0]).toBe('admin-bootstrap')
expect(scenarioNames.slice(1)).toEqual(BASE_SCENARIO_NAMES)
})
it('keeps admin bootstrap when filtering a later scenario', () => {
const scenarioNames = selectScenarioNames({
requestedScenarioNames: parseSelectedScenarioNames('email-activation'),
expectAdminBootstrap: true,
})
expect(scenarioNames).toEqual(['admin-bootstrap', 'email-activation'])
})
it('does not invent admin bootstrap when it is no longer required', () => {
const scenarioNames = selectScenarioNames({
requestedScenarioNames: parseSelectedScenarioNames('email-activation'),
expectAdminBootstrap: false,
})
expect(scenarioNames).toEqual(['email-activation'])
})
})