Files
movie-select/tests/shared/round-state.test.ts

26 lines
788 B
TypeScript

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