import { expect, test } from "vitest" import { allUsersDone, collectCompleteRatings, hasCompleteRatings, } from "../../src/shared/round-state.ts" test("allUsersDone returns true when all done", () => { expect(allUsersDone(["A", "B"], ["A", "B"])).toBe(true) expect(allUsersDone(["A", "B"], ["A"])).toBe(false) expect(allUsersDone([], [])).toBe(false) }) test("hasCompleteRatings detects missing ratings", () => { expect(hasCompleteRatings(["M1", "M2"], { M1: 2, M2: 5 })).toBe(true) expect(hasCompleteRatings(["M1", "M2"], { M1: 2 })).toBe(false) }) test("collectCompleteRatings filters incomplete voters", () => { const result = collectCompleteRatings(["A", "B"], ["M1", "M2"], { A: { M1: 1, M2: 2 }, B: { M1: 3 }, }) expect(result).toEqual({ A: { M1: 1, M2: 2 } }) })