Fix QP standings: filter to drafted/points-earning participants with correct global ranks #76

Merged
chrisp merged 2 commits from fix/qp-standings-filter-drafted-and-points into main 2026-06-06 16:51:47 +00:00
Showing only changes of commit a4ef8c3aa1 - Show all commits

View file

@ -114,7 +114,7 @@ describe("WorldCupSimulator", () => {
mockDb.query.tournamentGroups.findMany.mockResolvedValue([]); mockDb.query.tournamentGroups.findMany.mockResolvedValue([]);
mockDb.query.playoffMatches.findMany.mockResolvedValue([]); mockDb.query.playoffMatches.findMany.mockResolvedValue([]);
const sim = new WorldCupSimulator(100); const sim = new WorldCupSimulator(20);
await expect(sim.simulate("season-1")).rejects.toThrow("No participants found"); await expect(sim.simulate("season-1")).rejects.toThrow("No participants found");
}); });
@ -125,7 +125,7 @@ describe("WorldCupSimulator", () => {
mockDb.query.tournamentGroups.findMany.mockResolvedValue([]); mockDb.query.tournamentGroups.findMany.mockResolvedValue([]);
mockDb.query.playoffMatches.findMany.mockResolvedValue([]); mockDb.query.playoffMatches.findMany.mockResolvedValue([]);
const sim = new WorldCupSimulator(100); const sim = new WorldCupSimulator(20);
const results = await sim.simulate("season-1"); const results = await sim.simulate("season-1");
expect(results).toHaveLength(48); expect(results).toHaveLength(48);
const ids = new Set(results.map((r) => r.participantId)); const ids = new Set(results.map((r) => r.participantId));
@ -141,7 +141,7 @@ describe("WorldCupSimulator", () => {
mockDb.query.tournamentGroups.findMany.mockResolvedValue([]); mockDb.query.tournamentGroups.findMany.mockResolvedValue([]);
mockDb.query.playoffMatches.findMany.mockResolvedValue([]); mockDb.query.playoffMatches.findMany.mockResolvedValue([]);
const sim = new WorldCupSimulator(100); const sim = new WorldCupSimulator(20);
const results = await sim.simulate("season-1"); const results = await sim.simulate("season-1");
const sumFirst = results.reduce((s, r) => s + r.probabilities.probFirst, 0); const sumFirst = results.reduce((s, r) => s + r.probabilities.probFirst, 0);
@ -218,7 +218,7 @@ describe("WorldCupSimulator", () => {
mockDb.query.tournamentGroups.findMany.mockResolvedValue([group, ...remainingGroups]); mockDb.query.tournamentGroups.findMany.mockResolvedValue([group, ...remainingGroups]);
mockDb.query.playoffMatches.findMany.mockResolvedValue([]); mockDb.query.playoffMatches.findMany.mockResolvedValue([]);
const sim = new WorldCupSimulator(100); const sim = new WorldCupSimulator(20);
const results = await sim.simulate("season-1"); const results = await sim.simulate("season-1");
const p3Result = results.find((r) => r.participantId === "p3"); const p3Result = results.find((r) => r.participantId === "p3");
@ -238,7 +238,7 @@ describe("WorldCupSimulator", () => {
mockDb.query.tournamentGroups.findMany.mockResolvedValue([]); mockDb.query.tournamentGroups.findMany.mockResolvedValue([]);
mockDb.query.playoffMatches.findMany.mockResolvedValue([]); mockDb.query.playoffMatches.findMany.mockResolvedValue([]);
const sim = new WorldCupSimulator(100); const sim = new WorldCupSimulator(20);
const results = await sim.simulate("season-1"); const results = await sim.simulate("season-1");
for (const r of results) { for (const r of results) {