From a05ffd0c7f12a4931933137b1236cedf9236b1b8 Mon Sep 17 00:00:00 2001 From: Bastian Wagner Date: Mon, 3 Aug 2026 15:56:43 +0200 Subject: [PATCH] feat: add MyTeamsStore.refresh for forced reloads --- .../src/app/core/team/my-teams-store.spec.ts | 14 ++++++++++++++ .../src/app/core/team/my-teams-store.ts | 8 ++++++++ 2 files changed, 22 insertions(+) diff --git a/myteamwallet_frontend_modern/src/app/core/team/my-teams-store.spec.ts b/myteamwallet_frontend_modern/src/app/core/team/my-teams-store.spec.ts index 92b1468..8d69623 100644 --- a/myteamwallet_frontend_modern/src/app/core/team/my-teams-store.spec.ts +++ b/myteamwallet_frontend_modern/src/app/core/team/my-teams-store.spec.ts @@ -58,4 +58,18 @@ describe('MyTeamsStore', () => { expect(store.loading()).toBe(false); expect(store.players()).toEqual([]); }); + + it('refresh always reloads, even for a user id already loaded', () => { + store.ensureLoaded(42); + httpMock.expectOne(`${environment.apiUrl}users/42/teams`).flush([player]); + + store.refresh(42); + expect(store.loading()).toBe(true); + + const secondPlayer = { ...player, id: 2, team: { id: 6, name: 'Team B' } }; + httpMock.expectOne(`${environment.apiUrl}users/42/teams`).flush([player, secondPlayer]); + + expect(store.loading()).toBe(false); + expect(store.players()).toEqual([player, secondPlayer]); + }); }); diff --git a/myteamwallet_frontend_modern/src/app/core/team/my-teams-store.ts b/myteamwallet_frontend_modern/src/app/core/team/my-teams-store.ts index 3102aa1..761cc0b 100644 --- a/myteamwallet_frontend_modern/src/app/core/team/my-teams-store.ts +++ b/myteamwallet_frontend_modern/src/app/core/team/my-teams-store.ts @@ -18,6 +18,14 @@ export class MyTeamsStore { return; } + this.fetch(userId); + } + + refresh(userId: number): void { + this.fetch(userId); + } + + private fetch(userId: number): void { this.loadingSignal.set(true); this.teamsApi.loadMyTeams(userId).subscribe({ next: (players) => {