Coverage for src/tests/api/v1/trainings/teams/test_endpoints.py: 100%

22 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2024-01-01 00:00 +0000

1"""Module for testing the trainings/team API.""" 

2 

3import pytest 

4 

5from fastapi import status 

6from fastapi.testclient import TestClient 

7 

8 

9pytestmark = pytest.mark.api 

10 

11 

12def test_get_teams(client: TestClient): 

13 """Test get trainings teams api.""" 

14 response = client.get("/api/v1/trainings/teams") 

15 assert response.status_code == status.HTTP_200_OK 

16 

17 

18async def test_get_training_teams(client: TestClient, make_training_in_db): 

19 """Test get teams of a training api.""" 

20 training = await make_training_in_db() 

21 response = client.get(f"/api/v1/trainings/{training.id}/teams") 

22 assert response.status_code == status.HTTP_200_OK 

23 

24 

25async def test_add_team( 

26 secure_client: TestClient, make_training_in_db, make_team_in_db 

27): 

28 """Test POST /api/v1/trainings/teams.""" 

29 training = await make_training_in_db() 

30 team = await make_team_in_db() 

31 payload = {"data": {"id": str(team.id), "type": "teams"}} 

32 response = secure_client.post( 

33 f"/api/v1/trainings/{training.id}/teams", json=payload 

34 ) 

35 assert response.status_code == status.HTTP_201_CREATED 

36 

37 

38async def test_delete_team( 

39 secure_client: TestClient, make_training_in_db, make_team_in_db 

40): 

41 """Test POST /api/v1/trainings/teams.""" 

42 training = await make_training_in_db() 

43 team = await make_team_in_db() 

44 response = secure_client.delete(f"/api/v1/trainings/{training.id}/teams/{team.id}") 

45 assert response.status_code == status.HTTP_200_OK