diff options
author | Erik Johnston <erik@matrix.org> | 2019-05-20 10:13:05 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2019-05-20 12:09:27 +0100 |
commit | 935af0da380f39ba284b78054270331bdbad7712 (patch) | |
tree | b11a1f1cd2a8d6aad79970f7e8c33a7a69909411 /tests | |
parent | Make tests use different user for each reaction it sends (diff) | |
download | synapse-935af0da380f39ba284b78054270331bdbad7712.tar.xz |
Correctly update aggregation counts after redaction
Diffstat (limited to 'tests')
-rw-r--r-- | tests/rest/client/v2_alpha/test_relations.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/rest/client/v2_alpha/test_relations.py b/tests/rest/client/v2_alpha/test_relations.py index cd965167f8..3737cdc396 100644 --- a/tests/rest/client/v2_alpha/test_relations.py +++ b/tests/rest/client/v2_alpha/test_relations.py @@ -320,6 +320,43 @@ class RelationsTestCase(unittest.HomeserverTestCase): }, ) + def test_aggregation_redactions(self): + """Test that annotations get correctly aggregated after a redactions. + """ + + channel = self._send_relation(RelationTypes.ANNOTATION, "m.reaction", "a") + self.assertEquals(200, channel.code, channel.json_body) + to_redact_event_id = channel.json_body["event_id"] + + channel = self._send_relation( + RelationTypes.ANNOTATION, "m.reaction", "a", access_token=self.user2_token + ) + self.assertEquals(200, channel.code, channel.json_body) + + # Now lets redact the 'a' reaction + request, channel = self.make_request( + "POST", + "/_matrix/client/r0/rooms/%s/redact/%s" % (self.room, to_redact_event_id), + access_token=self.user_token, + content={}, + ) + self.render(request) + self.assertEquals(200, channel.code, channel.json_body) + + request, channel = self.make_request( + "GET", + "/_matrix/client/unstable/rooms/%s/aggregations/%s" + % (self.room, self.parent_id), + access_token=self.user_token, + ) + self.render(request) + self.assertEquals(200, channel.code, channel.json_body) + + self.assertEquals( + channel.json_body, + {"chunk": [{"type": "m.reaction", "key": "a", "count": 1}]}, + ) + def test_aggregation_must_be_annotation(self): """Test that aggregations must be annotations. """ |