From 01ec7554d7bc6a7aaa70f5cbbd5b098a51efe174 Mon Sep 17 00:00:00 2001
From: Kalle <38327916+Sendouc@users.noreply.github.com>
Date: Mon, 9 Nov 2026 16:22:09 +0200
Subject: [PATCH] Show the division a result came from on the team results page
for multi-division tournaments
---
.../team/TeamRepository.server.test.ts | 20 +++++++++++++++++--
app/features/team/TeamRepository.server.ts | 2 ++
.../team/components/TeamResultsTable.tsx | 3 +++
changelog/2026-11-08-team-results-division.md | 5 +++++
4 files changed, 28 insertions(+), 2 deletions(-)
create mode 100644 changelog/2026-11-08-team-results-division.md
diff --git a/app/features/team/TeamRepository.server.test.ts b/app/features/team/TeamRepository.server.test.ts
index 33da1e810..639df0323 100644
--- a/app/features/team/TeamRepository.server.test.ts
+++ b/app/features/team/TeamRepository.server.test.ts
@@ -12,7 +12,7 @@ import * as TeamRepository from "./TeamRepository.server";
import { TEAM } from "./team-constants";
describe("findResultsById", () => {
- test("participant who was on the roster at the result's time but left later is not a sub", async () => {
+ const seedTeamResult = async ({ div }: { div: string | null }) => {
const [owner, formerMember] = await UserFactory.createMany(2);
const team = await TeamFactory.create({
memberUserIds: [owner.id, formerMember.id],
@@ -42,12 +42,20 @@ describe("findResultsById", () => {
placement: 1,
participantCount: 8,
tournamentTeamId: tournamentTeam.id,
- div: null,
+ div,
})),
setResults: new Map(),
},
});
+ return { team, tournament, formerMember };
+ };
+
+ test("participant who was on the roster at the result's time but left later is not a sub", async () => {
+ const { team, tournament, formerMember } = await seedTeamResult({
+ div: null,
+ });
+
const { startsAt } = await db
.selectFrom("CalendarEventDate")
.select("startsAt")
@@ -67,6 +75,14 @@ describe("findResultsById", () => {
expect(results).toHaveLength(1);
expect(results[0].subs).toHaveLength(0);
});
+
+ test("returns the division the team placed in", async () => {
+ const { team } = await seedTeamResult({ div: "D2" });
+
+ const results = await TeamRepository.findResultsById(team.id);
+
+ expect(results[0].div).toBe("D2");
+ });
});
describe("insertOwnMembership", () => {
diff --git a/app/features/team/TeamRepository.server.ts b/app/features/team/TeamRepository.server.ts
index 7723ee095..ceef06d8d 100644
--- a/app/features/team/TeamRepository.server.ts
+++ b/app/features/team/TeamRepository.server.ts
@@ -234,6 +234,7 @@ export async function findResultsById(teamId: number) {
"TournamentResult.tournamentId",
"TournamentResult.placement",
"TournamentResult.participantCount",
+ "TournamentResult.div",
"TournamentTeam.startingBracketIdx",
])
.where("teamId", "=", teamId)
@@ -267,6 +268,7 @@ export async function findResultsById(teamId: number) {
"results.tournamentId",
"results.participantCount",
"results.tournamentTeamId",
+ "results.div",
"CalendarEvent.name as tournamentName",
"CalendarEventDate.startsAt",
sql<
diff --git a/app/features/team/components/TeamResultsTable.tsx b/app/features/team/components/TeamResultsTable.tsx
index 939f1a0a0..f84c5013d 100644
--- a/app/features/team/components/TeamResultsTable.tsx
+++ b/app/features/team/components/TeamResultsTable.tsx
@@ -71,6 +71,9 @@ export function TeamResultsTable({ results }: TeamResultsTableProps) {
>
{result.tournamentName}
+ {result.div ? (
+ ({result.div})
+ ) : null}
{result.tier ? : null}
diff --git a/changelog/2026-11-08-team-results-division.md b/changelog/2026-11-08-team-results-division.md
new file mode 100644
index 000000000..bcfcf182a
--- /dev/null
+++ b/changelog/2026-11-08-team-results-division.md
@@ -0,0 +1,5 @@
+---
+navItem: t
+type: feature
+---
+Team results now show the division the team played in for tournaments with several divisions, like user results do