aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/bot/cogs/sync/test_base.py36
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()