def member(id: int) -> Member: member = AsyncMock(spec=Member) member.id = id member.display_name = id member.mention = id member.bot = None return member
def real_member(name: str, id: int) -> Member: member = AsyncMock(spec=Member) member.id = id member.display_name = name member.mention = name member.bot = None return member
def to_mock(self): """Returns an AsyncMock matching the spec for this class""" # we still have to set stuff manually but changing values is nicer mock = AsyncMock(name="Member Mock") if self.type == "bot": # Mocks a bot mock.user.name = self.name mock.user.id = self.id mock.user.mention = f"<@{self.id}>" mock.user.bot = True mock.user.roles = [ MockedRole(), MockedRole(name="test role 2", role_id=252525).to_mock(), ] return mock elif self.type == "member": mock.roles = [ MockedRole().to_mock(), MockedRole(name="test role 2", role_id=252525).to_mock(), ] mock.top_role.position = 5 mock.name = self.name mock.display_name = self.name mock.id = self.id mock.bot = self.is_bot mock.mention = f"<@{self.id}>" return mock
def member(status: Status = Status.online) -> Member: member = AsyncMock(spec=Member) member.id = id() member.display_name = id() member.mention = id() member.bot = None member.status = status return member