| 123456789101112131415161718192021222324252627 |
- import { describe, expect, it } from 'vitest'
- import { readFileSync } from 'node:fs'
- import { resolve } from 'node:path'
- const page = readFileSync(resolve(process.cwd(), 'src/views/scoring/ScoringEditView.vue'), 'utf8')
- const myResult = readFileSync(resolve(process.cwd(), 'src/views/scoring/MyResultView.vue'), 'utf8')
- describe('scoring and workspace display defaults', () => {
- it('initializes each performance dimension at 60 percent of its full score', () => {
- expect(page).toContain('d.maxScore * 0.6')
- expect(myResult).toContain('d.maxScore * 0.6')
- expect(page).toContain('listForPeriod')
- expect(myResult).toContain('listForPeriod')
- })
- it('limits both bonus and penalty inputs to 20 points', () => {
- expect(page).toContain('加分(上限 20)')
- expect(page).toMatch(/v-model="form\.bonus"[\s\S]*?:max="20"/)
- expect(page).toMatch(/v-model="form\.penalty"[\s\S]*?:max="20"/)
- expect(myResult).toContain('加分(上限 20)')
- expect(myResult).toContain('扣分(上限 20)')
- expect(myResult).toMatch(/v-model="form\.bonus"[\s\S]*?:max="20"/)
- expect(myResult).toMatch(/v-model="form\.penalty"[\s\S]*?:max="20"/)
- expect(myResult).toContain('allKrs')
- expect(myResult).toContain('objective.weight')
- })
- })
|