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') }) })