Beispiel #1
0
    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().to_mock(),
                MockedRole(name="test role 2", role_id=252525).to_mock(),
            ]

            mock.get_channel = self.get_channel
            mock.fetch_channel = self.fetch_channel

            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}>"

        # nextcord based mock
        mock.communication_disabled_until = self.is_timed_out

        return mock