feat: add MyTeamsStore.refresh for forced reloads
This commit is contained in:
@@ -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]);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user