From 886e4e6941805404eebc03d6454ba5cff10b34d9 Mon Sep 17 00:00:00 2001 From: Bastian Wagner Date: Mon, 3 Aug 2026 15:51:38 +0200 Subject: [PATCH] feat: add TeamsApi.createTeam --- .../src/app/core/team/teams-api.spec.ts | 9 +++++++++ .../src/app/core/team/teams-api.ts | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/myteamwallet_frontend_modern/src/app/core/team/teams-api.spec.ts b/myteamwallet_frontend_modern/src/app/core/team/teams-api.spec.ts index 1ba1e5e..cb382bc 100644 --- a/myteamwallet_frontend_modern/src/app/core/team/teams-api.spec.ts +++ b/myteamwallet_frontend_modern/src/app/core/team/teams-api.spec.ts @@ -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 }); + }); }); diff --git a/myteamwallet_frontend_modern/src/app/core/team/teams-api.ts b/myteamwallet_frontend_modern/src/app/core/team/teams-api.ts index c54cc5b..dd716bc 100644 --- a/myteamwallet_frontend_modern/src/app/core/team/teams-api.ts +++ b/myteamwallet_frontend_modern/src/app/core/team/teams-api.ts @@ -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(`${environment.apiUrl}teams/${teamId}/overview`); } + createTeam(request: CreateTeamRequest): Observable { + return this.http.post(`${environment.apiUrl}teams`, request); + } + createPlayer(teamId: number, player: CreatePlayerRequest): Observable { return this.http.post(`${environment.apiUrl}teams/${teamId}/players`, player); }