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.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;
}
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) => {