aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorGravatar MarkKoz <[email protected]>2020-01-03 11:20:33 -0800
committerGravatar MarkKoz <[email protected]>2020-02-12 10:07:49 -0800
commite74d360e3834511ffa2fb93f1146cda664a403a5 (patch)
tree6cc502bbb28987daf4e44875be737d8285c1b457 /tests
parentSync tests: fix get_guild modifying the original member dicts (diff)
Sync tests: test diff for updated users
Diffstat (limited to 'tests')
-rw-r--r--tests/bot/cogs/sync/test_users.py20
1 files changed, 11 insertions, 9 deletions
diff --git a/tests/bot/cogs/sync/test_users.py b/tests/bot/cogs/sync/test_users.py
index 0d00e6970..f1084fa98 100644
--- a/tests/bot/cogs/sync/test_users.py
+++ b/tests/bot/cogs/sync/test_users.py
@@ -1,7 +1,7 @@
import asyncio
import unittest
-from bot.cogs.sync.syncers import UserSyncer
+from bot.cogs.sync.syncers import UserSyncer, _User
from tests import helpers
@@ -61,15 +61,17 @@ class UserSyncerDiffTests(unittest.TestCase):
self.assertEqual(actual_diff, expected_diff)
- def test_get_users_for_sync_returns_users_to_update_on_non_id_field_diff(self):
- """When a non-ID-field differs, the user to update is returned."""
- api_users = {43: fake_user()}
- guild_users = {43: fake_user(name='new fancy name')}
+ def test_diff_for_updated_users(self):
+ """Only updated users should be added to the 'updated' set of the diff."""
+ updated_user = fake_user(id=99, name="new")
- self.assertEqual(
- get_users_for_sync(guild_users, api_users),
- (set(), {fake_user(name='new fancy name')})
- )
+ self.bot.api_client.get.return_value = [fake_user(id=99, name="old"), fake_user()]
+ guild = self.get_guild(updated_user, fake_user())
+
+ actual_diff = asyncio.run(self.syncer._get_diff(guild))
+ expected_diff = (set(), {_User(**updated_user)}, None)
+
+ self.assertEqual(actual_diff, expected_diff)
def test_get_users_for_sync_returns_users_to_create_with_new_ids_on_guild(self):
"""When new users join the guild, they are returned as the first tuple element."""