diff --git a/app/features/scrims/routes/scrims.new.tsx b/app/features/scrims/routes/scrims.new.tsx index f5bc0eb5b..358c2ef5f 100644 --- a/app/features/scrims/routes/scrims.new.tsx +++ b/app/features/scrims/routes/scrims.new.tsx @@ -39,6 +39,9 @@ export default function NewScrimPage() { const { t } = useTranslation(["scrims"]); const data = useLoaderData(); + const defaultTeam = + data.teams.find((team) => team.isMainTeam) ?? data.teams[0]; + return (
0 - ? { mode: "TEAM", teamId: data.teams[0].id } - : { - mode: "PICKUP", - users: nullFilledArray( - SCRIM.MAX_PICKUP_SIZE_EXCLUDING_OWNER, - ) as unknown as number[], - }, + from: defaultTeam + ? { mode: "TEAM", teamId: defaultTeam.id } + : { + mode: "PICKUP", + users: nullFilledArray( + SCRIM.MAX_PICKUP_SIZE_EXCLUDING_OWNER, + ) as unknown as number[], + }, managedByAnyone: true, maps: "NO_PREFERENCE", mapsTournamentId: null, diff --git a/app/features/team/TeamRepository.server.test.ts b/app/features/team/TeamRepository.server.test.ts index 4f61d78c7..f80791223 100644 --- a/app/features/team/TeamRepository.server.test.ts +++ b/app/features/team/TeamRepository.server.test.ts @@ -64,3 +64,26 @@ describe("findResultsById", () => { expect(results[0].subs).toHaveLength(0); }); }); + +describe("findAllByMemberUserId", () => { + test("returns the main team first", async () => { + const user = await UserFactory.create(); + await TeamFactory.create({ + name: "Secondary team", + isMainTeam: false, + memberUserIds: [user.id], + }); + await TeamFactory.create({ + name: "Main team", + isMainTeam: true, + memberUserIds: [user.id], + }); + + const teams = await TeamRepository.findAllByMemberUserId(user.id); + + expect(teams.map((team) => team.name)).toEqual([ + "Main team", + "Secondary team", + ]); + }); +}); diff --git a/app/features/team/TeamRepository.server.ts b/app/features/team/TeamRepository.server.ts index 46449840d..03c33481c 100644 --- a/app/features/team/TeamRepository.server.ts +++ b/app/features/team/TeamRepository.server.ts @@ -378,6 +378,7 @@ export async function findAllByMemberUserId( ).as("members"), ]) .where("userId", "=", userId) + .orderBy("TeamMemberWithSecondary.isMainTeam", "desc") .execute(); }