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

16 statements  

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

1"""Module for testing the use case 'Delete member from a team'.""" 

2 

3import pytest 

4 

5from kwai_bc_teams.delete_member_from_team import ( 

6 DeleteMemberFromTeam, 

7 DeleteMemberFromTeamCommand, 

8) 

9from kwai_bc_teams.domain.team import TeamEntity 

10from kwai_bc_teams.repositories.member_db_repository import MemberDbRepository 

11from kwai_bc_teams.repositories.team_db_repository import TeamDbRepository 

12from kwai_core.db.database import Database 

13from kwai_core.domain.presenter import EntityPresenter 

14 

15 

16pytestmark = pytest.mark.db 

17 

18 

19async def test_delete_member_from_team( 

20 database: Database, make_team_in_db, make_team_member_in_db 

21) -> None: 

22 """Test the use case 'Delete Team Member'.""" 

23 presenter = EntityPresenter[TeamEntity]() 

24 team = await make_team_in_db() 

25 team_member = await make_team_member_in_db(team=team) 

26 

27 command = DeleteMemberFromTeamCommand( 

28 team_id=team.id.value, member_uuid=str(team_member.member.uuid) 

29 ) 

30 await DeleteMemberFromTeam( 

31 TeamDbRepository(database), MemberDbRepository(database), presenter 

32 ).execute(command) 

33 assert presenter.entity is not None, "The team should be available" 

34 assert len(presenter.entity.members) == 0, "There should be no members in the team"