diff options
| author | 2020-01-18 09:18:18 -0800 | |
|---|---|---|
| committer | 2020-02-12 10:07:53 -0800 | |
| commit | 08ad97d24590882dbb6a5575b6a3e7bfdbf145a3 (patch) | |
| tree | d1336b448b8dd1914418a8b6d811b7f422c31076 | |
| parent | Sync: create a separate function to get the confirmation result (diff) | |
Sync tests: adjust sync test to account for _get_confirmation_result
| -rw-r--r-- | tests/bot/cogs/sync/test_base.py | 36 | 
1 files changed, 13 insertions, 23 deletions
| diff --git a/tests/bot/cogs/sync/test_base.py b/tests/bot/cogs/sync/test_base.py index 898b12b07..f82984157 100644 --- a/tests/bot/cogs/sync/test_base.py +++ b/tests/bot/cogs/sync/test_base.py @@ -252,42 +252,32 @@ class SyncerSyncTests(unittest.TestCase):          self.bot = helpers.MockBot()          self.syncer = TestSyncer(self.bot) -    def test_sync_sends_confirmation_prompt(self): -        """The prompt should be sent only if the diff is large and should fail if not confirmed.""" -        large_diff = _Diff({1}, {2}, {3}) +    def test_sync_respects_confirmation_result(self): +        """The sync should abort if confirmation fails and continue if confirmed.""" +        mock_message = helpers.MockMessage()          subtests = ( -            (False, False, True, None, None, _Diff({1}, {2}, set()), "diff too small"), -            (True, True, True, helpers.MockMessage(), True, large_diff, "confirmed"), -            (True, False, False, None, None, large_diff, "couldn't get channel"), -            (True, True, False, helpers.MockMessage(), False, large_diff, "not confirmed"), +            (True, mock_message), +            (False, None),          ) -        for prompt_called, wait_called, sync_called, prompt_msg, confirmed, diff, msg in subtests: -            with self.subTest(msg=msg): +        for confirmed, message in subtests: +            with self.subTest(confirmed=confirmed):                  self.syncer._sync.reset_mock()                  self.syncer._get_diff.reset_mock() -                self.syncer.MAX_DIFF = 2 +                diff = _Diff({1, 2, 3}, {4, 5}, None)                  self.syncer._get_diff.return_value = diff -                self.syncer._send_prompt = helpers.AsyncMock(return_value=prompt_msg) -                self.syncer._wait_for_confirmation = helpers.AsyncMock(return_value=confirmed) +                self.syncer._get_confirmation_result = helpers.AsyncMock( +                    return_value=(confirmed, message) +                )                  guild = helpers.MockGuild()                  asyncio.run(self.syncer.sync(guild))                  self.syncer._get_diff.assert_called_once_with(guild) +                self.syncer._get_confirmation_result.assert_called_once() -                if prompt_called: -                    self.syncer._send_prompt.assert_called_once() -                else: -                    self.syncer._send_prompt.assert_not_called() - -                if wait_called: -                    self.syncer._wait_for_confirmation.assert_called_once() -                else: -                    self.syncer._wait_for_confirmation.assert_not_called() - -                if sync_called: +                if confirmed:                      self.syncer._sync.assert_called_once_with(diff)                  else:                      self.syncer._sync.assert_not_called() | 
