Coverage for src/tests/modules/training/trainings/test_training.py: 100%

44 statements  

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

1"""Test the training entity.""" 

2 

3import pytest 

4 

5 

6def test_add_team_to_training(make_training, make_team): 

7 """Adding a team to a training.""" 

8 training = make_training() 

9 team = make_team() 

10 training = training.add_team(team) 

11 assert len(training.teams) == 1, "There should be 1 team" 

12 

13 

14def test_add_the_same_team_to_training(make_training, make_team): 

15 """Adding the same team twice to a training.""" 

16 training = make_training() 

17 team = make_team() 

18 training = training.add_team(team).add_team(team) 

19 assert len(training.teams) == 1, "There should only be 1 team" 

20 

21 

22def test_add_multiple_teams_to_training(make_training, make_team): 

23 """Adding multiple teams to a training.""" 

24 training = make_training() 

25 team_1 = make_team(name="U11").set_id(1) 

26 team_2 = make_team(name="U13").set_id(2) 

27 training = training.add_team(team_1).add_team(team_2) 

28 assert len(training.teams) == 2, "There should be 2 teams" 

29 

30 

31def test_remove_team_from_training(make_training, make_team): 

32 """Remove a team from a training.""" 

33 training = make_training() 

34 team_1 = make_team() 

35 team_2 = make_team() 

36 training = training.add_team(team_1).add_team(team_2) 

37 training = training.delete_team(team_1) 

38 assert len(training.teams) == 0, "There should be 1 team" 

39 

40 

41def test_add_coach(make_training, make_coach): 

42 """Test adding a coach to a training.""" 

43 training = make_training() # This already adds a coach to the training 

44 coach = make_coach() 

45 training = training.add_coach(coach) 

46 assert len(training.coaches) == 2, "There should be 2 coaches" 

47 

48 

49def test_remove_coach(make_training, make_coach): 

50 """Test removing a coach from a training.""" 

51 training = make_training() # This already adds a coach to the training 

52 training = training.delete_coach(list(training.coaches)[0]) 

53 assert len(training.coaches) == 0, "There should be no coaches" 

54 

55 

56def test_mark_coach_as_present(make_training): 

57 """Test marking a coach as present.""" 

58 training = make_training() 

59 training_coach = list(training.coaches)[0] 

60 training = training.mark_coach_as_present(training_coach.coach.id) 

61 training_coach = list(training.coaches)[0] 

62 assert training_coach.present, "The coach should be present" 

63 

64 

65def test_remove_present_coach(make_training, make_coach): 

66 """Test removing a coach from a training who was present.""" 

67 training = make_training() # This already adds a coach to the training 

68 training = training.mark_coach_as_present(list(training.coaches)[0].coach.id) 

69 with pytest.raises(ValueError): 

70 training.delete_coach(list(training.coaches)[0])