Daniel Brötzmann pushed to branch gtk4 at gajim / gajim


Commits:
f32f9f46 by wurstsalat at 2024-11-02T18:20:03+01:00
cfix: Tests: Fix nick completion test

- - - - -


1 changed file:

- test/gui/test_nick_completion.py


Changes:

=====================================
test/gui/test_nick_completion.py
=====================================
@@ -6,12 +6,23 @@
 from unittest.mock import MagicMock
 
 from gajim.common import app
+from gajim.common.modules.contacts import GroupchatContact
+from gajim.common.modules.contacts import GroupchatParticipant
 
-# Broken
+from gajim.gtk.completion.nickname import NicknameCompletionProvider
 
 
 class Test(unittest.TestCase):
     def test_generate_suggestions(self):
+
+        def _get_mock_participant(nick: str) -> GroupchatParticipant:
+            participant = MagicMock(spec_set=GroupchatParticipant)
+            participant.name = nick
+            return participant
+
+        def _get_resource(nick: str) -> GroupchatParticipant:
+            return _get_mock_participant(nick)
+
         participant_names = [
             'Hugo',
             'Herbert',
@@ -21,32 +32,26 @@ def test_generate_suggestions(self):
             '7user',
         ]
 
-        participants: list[MagicMock] = []
+        participants: list[GroupchatParticipant] = []
         for name in participant_names:
-            participant = MagicMock()
-            participant.name = name
-            participants.append(participant)
-
-        gen = GroupChatNickCompletion()
-        contact = MagicMock()
-        contact.get_participants = MagicMock(return_value=participants)
-
-        gen.switch_contact(contact)
-
-        r = gen._generate_suggestions(prefix='h')  # type: ignore
-        self.assertEqual(r, ['Herbert', 'Hugo'])
+            participants.append(_get_mock_participant(name))
 
-        r = gen._generate_suggestions(prefix='')  # type: ignore
-        self.assertEqual(r, ['Daisy', 'Robert', '7user', 'Herbert', 'Hugo', 
'xavier'])
+        gen = NicknameCompletionProvider()
+        groupchat_contact = MagicMock(spec_set=GroupchatContact)
+        groupchat_contact.get_participants = 
MagicMock(return_value=participants)
+        groupchat_contact.get_resource = MagicMock(side_effect=_get_resource)
 
-        r = gen._generate_suggestions(prefix='m')  # type: ignore
-        self.assertEqual(r, [])
+        results = gen._generate_suggestions(groupchat_contact)  # type: ignore
+        self.assertEqual(
+            [result.name for result in results],
+            ['Harry', 'Joe', '7user', 'Daisy', 'Herbert', 'Hugo', 'Robert', 
'xavier'],
+        )
 
 
 app.get_client = MagicMock()
 
 app.storage.archive = MagicMock()
-app.storage.archive.get_recent_muc_nicks = MagicMock(return_value=['Daisy', 
'Robert'])
+app.storage.archive.get_recent_muc_nicks = MagicMock(return_value=['Harry', 
'Joe'])
 
 if __name__ == '__main__':
     unittest.main()



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/f32f9f4682408c5c40320e542d0c8826da987f7e

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/f32f9f4682408c5c40320e542d0c8826da987f7e
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to