Coverage for src/tests/modules/teams/domain/test_team.py: 100%

24 statements  

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

1"""Module for testing the Team entity class.""" 

2 

3from kwai_bc_teams.domain.team import TeamEntity, TeamMembers 

4from kwai_bc_teams.domain.team_member import TeamMember 

5 

6 

7def test_add_member(make_member): 

8 """Test adding a member to a team.""" 

9 team = TeamEntity(name="U13") 

10 team_member = TeamMember(active=True, member=make_member()) 

11 new_team = team.add_member(team_member) 

12 assert len(team.members) == 0, "The old team should still be empty" 

13 assert len(new_team.members) == 1, "The new team should contain 1 member" 

14 assert new_team.members.get(team_member.member.uuid) is not None, ( 

15 "The team member should be part of the team" 

16 ) 

17 

18 

19def test_team_members_with_dict(make_member): 

20 """Test adding team members from a dict.""" 

21 team_member = TeamMember(active=True, member=make_member()) 

22 team_members_dict = {team_member.member.uuid: team_member} 

23 team_members = TeamMembers(team_members_dict) 

24 assert len(team_members) == 1, "There should be one team member." 

25 new_team_member = TeamMember(active=True, member=make_member()) 

26 team_members = team_members.add(new_team_member) 

27 assert len(team_members) == 2, "There should be one team member." 

28 assert len(team_members_dict) == 1, "There should be still one member in the dict" 

29 

30 

31def test_remove_member(make_team, make_member): 

32 """Test removing a member from a team.""" 

33 team_member = TeamMember(active=True, member=make_member()) 

34 original_team = make_team( 

35 name="U13", members=TeamMembers({team_member.member.uuid: team_member}) 

36 ) 

37 team = original_team.remove_member(team_member) 

38 assert len(team.members) == 0, "The team should not have a team member." 

39 assert len(original_team.members) == 1, ( 

40 "The old team should still have a team member." 

41 )