Fix duplicate EventListSummarys (#7952)

* Fix duplicate EventListSummarys

Signed-off-by: Robin Townsend <robin@robin.town>

* Add regression test

Signed-off-by: Robin Townsend <robin@robin.town>
This commit is contained in:
Robin 2022-03-02 11:46:51 -05:00 committed by GitHub
parent 560f8f7ee7
commit aadb64615f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 6 deletions

View file

@ -572,4 +572,33 @@ describe('MessagePanel', function() {
expect(els.key()).toEqual("eventlistsummary-" + events[0].getId());
expect(els.prop("events").length).toEqual(11);
});
it('assigns different keys to summaries that get split up', () => {
const events = mkMelsEvents().slice(1, 11);
const res = mount(<WrappedMessagePanel events={events} />);
let els = res.find("EventListSummary");
expect(els.length).toEqual(1);
expect(els.key()).toEqual("eventlistsummary-" + events[0].getId());
expect(els.prop("events").length).toEqual(10);
res.setProps({
events: [
...events.slice(0, 5),
TestUtilsMatrix.mkMessage({
event: true,
room: "!room:id",
user: "@user:id",
msg: "Hello!",
}),
...events.slice(5, 10),
],
});
els = res.find("EventListSummary");
expect(els.length).toEqual(2);
expect(els.first().key()).not.toEqual(els.last().key());
expect(els.first().prop("events").length).toEqual(5);
expect(els.last().prop("events").length).toEqual(5);
});
});