feat: add TeamsApi.createTeam

This commit is contained in:
Bastian Wagner
2026-08-03 15:51:38 +02:00
parent c1478f07f1
commit 886e4e6941
2 changed files with 17 additions and 0 deletions

View File

@@ -92,4 +92,13 @@ describe('TeamsApi', () => {
expect(request.request.body).toEqual({ teamRoleId: 4 });
request.flush({ id: 7, teamRole: { id: 4 } });
});
it('creates a team', () => {
const request = { name: '1. Herren' };
service.createTeam(request).subscribe();
const req = httpMock.expectOne(`${environment.apiUrl}teams`);
expect(req.request.method).toBe('POST');
expect(req.request.body).toEqual(request);
req.flush({ id: 7, name: '1. Herren', alias: 'a', balance: 0 });
});
});

View File

@@ -13,6 +13,10 @@ export interface CreatePlayerRequest {
teamRole: number;
}
export interface CreateTeamRequest {
name: string;
}
@Injectable({ providedIn: 'root' })
export class TeamsApi {
private readonly http = inject(HttpClient);
@@ -25,6 +29,10 @@ export class TeamsApi {
return this.http.get<Team>(`${environment.apiUrl}teams/${teamId}/overview`);
}
createTeam(request: CreateTeamRequest): Observable<Team> {
return this.http.post<Team>(`${environment.apiUrl}teams`, request);
}
createPlayer(teamId: number, player: CreatePlayerRequest): Observable<Player> {
return this.http.post<Player>(`${environment.apiUrl}teams/${teamId}/players`, player);
}