mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-03 01:04:49 -04:00
SYN-40: When a user updates their displayname or avatar update all their join events for all the rooms they are currently in.
This commit is contained in:
parent
fe7af80198
commit
b6818fd4d2
3 changed files with 75 additions and 3 deletions
|
@ -22,6 +22,7 @@ from mock import Mock
|
|||
from synapse.api.errors import AuthError
|
||||
from synapse.server import HomeServer
|
||||
from synapse.handlers.profile import ProfileHandler
|
||||
from synapse.api.constants import Membership
|
||||
|
||||
|
||||
class ProfileHandlers(object):
|
||||
|
@ -50,6 +51,7 @@ class ProfileTestCase(unittest.TestCase):
|
|||
"set_profile_displayname",
|
||||
"get_profile_avatar_url",
|
||||
"set_profile_avatar_url",
|
||||
"get_rooms_for_user_where_membership_is",
|
||||
]),
|
||||
handlers=None,
|
||||
resource_for_federation=Mock(),
|
||||
|
@ -65,6 +67,10 @@ class ProfileTestCase(unittest.TestCase):
|
|||
|
||||
self.handler = hs.get_handlers().profile_handler
|
||||
|
||||
self.mock_get_joined = (
|
||||
self.datastore.get_rooms_for_user_where_membership_is
|
||||
)
|
||||
|
||||
# TODO(paul): Icky signal declarings.. booo
|
||||
hs.get_distributor().declare("changed_presencelike_data")
|
||||
|
||||
|
@ -83,8 +89,15 @@ class ProfileTestCase(unittest.TestCase):
|
|||
mocked_set = self.datastore.set_profile_displayname
|
||||
mocked_set.return_value = defer.succeed(())
|
||||
|
||||
self.mock_get_joined.return_value = defer.succeed([])
|
||||
|
||||
yield self.handler.set_displayname(self.frank, self.frank, "Frank Jr.")
|
||||
|
||||
self.mock_get_joined.assert_called_once_with(
|
||||
self.frank.to_string(),
|
||||
[Membership.JOIN]
|
||||
)
|
||||
|
||||
mocked_set.assert_called_with("1234ABCD", "Frank Jr.")
|
||||
|
||||
@defer.inlineCallbacks
|
||||
|
@ -135,7 +148,15 @@ class ProfileTestCase(unittest.TestCase):
|
|||
mocked_set = self.datastore.set_profile_avatar_url
|
||||
mocked_set.return_value = defer.succeed(())
|
||||
|
||||
self.mock_get_joined.return_value = defer.succeed([])
|
||||
|
||||
yield self.handler.set_avatar_url(self.frank, self.frank,
|
||||
"http://my.server/pic.gif")
|
||||
|
||||
self.mock_get_joined.assert_called_once_with(
|
||||
self.frank.to_string(),
|
||||
[Membership.JOIN]
|
||||
)
|
||||
|
||||
|
||||
mocked_set.assert_called_with("1234ABCD", "http://my.server/pic.gif")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue