async def test_recalculate_leader_returns_new_highest_points_user( target_user: User, old_point_leader: User, guild: Guild): target_user.points = OLD_POINT_LEADER_POINTS + 1 target_user.save() new_leader = await recalculate_leader(guild) assert new_leader == target_user
async def test_recalculate_leader_reassigns_roles( target_user: User, old_point_leader: User, leader_role: PointLeaderRole): target_user.points = OLD_POINT_LEADER_POINTS + 1 target_user.save() discord_role = MagicMock() old_leader_member = AsyncMock(roles=[discord_role], spec=Member) new_leader_member = AsyncMock(roles=[], spec=Member) guild = AsyncMock(id=GUILD_ID, spec=Guild) guild.get_member.return_value = new_leader_member guild.members = [new_leader_member, old_leader_member] guild.get_role.return_value = discord_role await recalculate_leader(guild) new_leader_member.add_roles.assert_called_with(discord_role) old_leader_member.remove_roles.assert_called_with(discord_role)
def test_add_points_adds_correct_amount_of_points(command_user: User, target_user: User): target_user.points = 100 target_user = add_points(command_user, target_user, POINTS_COUNT) assert target_user.points == 100 + POINTS_COUNT