feat: add MyTeamsStore.refresh for forced reloads

This commit is contained in:
Bastian Wagner
2026-08-03 15:56:43 +02:00
parent 886e4e6941
commit a05ffd0c7f
2 changed files with 22 additions and 0 deletions

View File

@@ -58,4 +58,18 @@ describe('MyTeamsStore', () => {
expect(store.loading()).toBe(false); expect(store.loading()).toBe(false);
expect(store.players()).toEqual([]); 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]);
});
}); });

View File

@@ -18,6 +18,14 @@ export class MyTeamsStore {
return; return;
} }
this.fetch(userId);
}
refresh(userId: number): void {
this.fetch(userId);
}
private fetch(userId: number): void {
this.loadingSignal.set(true); this.loadingSignal.set(true);
this.teamsApi.loadMyTeams(userId).subscribe({ this.teamsApi.loadMyTeams(userId).subscribe({
next: (players) => { next: (players) => {