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
« 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'."""
3import pytest
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
16pytestmark = pytest.mark.db
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)
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"