diff options
| author | 2020-01-10 11:47:41 -0800 | |
|---|---|---|
| committer | 2020-02-12 10:07:52 -0800 | |
| commit | 9a73feb93a7680211e597f0cc9d09b06ebc84335 (patch) | |
| tree | ba3d78831f513992e5e9f25d551b005c7c0246a0 /tests | |
| parent | Sync tests: create a test suite for confirmation tests (diff) | |
Sync tests: test _reaction_check for valid emoji and authors
Should return True if authors are identical or are a bot and a core dev,
respectively.
* Create a mock core dev role in the setup fixture
* Create a fixture to create a mock message and reaction from an emoji
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/bot/cogs/sync/test_base.py | 27 | 
1 files changed, 27 insertions, 0 deletions
| diff --git a/tests/bot/cogs/sync/test_base.py b/tests/bot/cogs/sync/test_base.py index ca344c865..f722a83e8 100644 --- a/tests/bot/cogs/sync/test_base.py +++ b/tests/bot/cogs/sync/test_base.py @@ -130,3 +130,30 @@ class SyncerConfirmationTests(unittest.TestCase):      def setUp(self):          self.bot = helpers.MockBot()          self.syncer = TestSyncer(self.bot) +        self.core_dev_role = helpers.MockRole(id=constants.Roles.core_developer) + +    @staticmethod +    def get_message_reaction(emoji): +        """Fixture to return a mock message an reaction from the given `emoji`.""" +        message = helpers.MockMessage() +        reaction = helpers.MockReaction(emoji=emoji, message=message) + +        return message, reaction + +    def test_reaction_check_for_valid_emoji_and_authors(self): +        """Should return True if authors are identical or are a bot and a core dev, respectively.""" +        user_subtests = ( +            (helpers.MockMember(id=77), helpers.MockMember(id=77)), +            ( +                helpers.MockMember(id=77, bot=True), +                helpers.MockMember(id=43, roles=[self.core_dev_role]), +            ) +        ) + +        for emoji in self.syncer._REACTION_EMOJIS: +            for author, user in user_subtests: +                with self.subTest(author=author, user=user, emoji=emoji): +                    message, reaction = self.get_message_reaction(emoji) +                    ret_val = self.syncer._reaction_check(author, message, reaction, user) + +                    self.assertTrue(ret_val) | 
