From 2502c4024a89706d63a4a5f78d6dcc70762d3b6b Mon Sep 17 00:00:00 2001 From: RMidhunSuresh Date: Wed, 14 Jul 2021 15:06:39 +0530 Subject: [PATCH] Fix broken tests Signed-off-by: RMidhunSuresh --- src/domain/session/room/timeline/ReactionsViewModel.js | 8 ++++++-- src/matrix/room/timeline/Timeline.js | 10 ++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/domain/session/room/timeline/ReactionsViewModel.js b/src/domain/session/room/timeline/ReactionsViewModel.js index 8813512d..51226775 100644 --- a/src/domain/session/room/timeline/ReactionsViewModel.js +++ b/src/domain/session/room/timeline/ReactionsViewModel.js @@ -189,6 +189,8 @@ import {HomeServer as MockHomeServer} from "../../../../mocks/HomeServer.js"; // other imports import {BaseMessageTile} from "./tiles/BaseMessageTile.js"; import {MappedList} from "../../../../observable/list/MappedList.js"; +import {ObservableValue} from "../../../../observable/ObservableValue.js"; +import {PowerLevels} from "../../../../matrix/room/timeline/PowerLevels.js"; export function tests() { const fragmentIdComparer = new FragmentIdComparer([]); @@ -251,8 +253,9 @@ export function tests() { await txn.complete(); // 2. setup queue & timeline const queue = new SendQueue({roomId, storage, hsApi: new MockHomeServer().api}); + const powerLevelsObservable = new ObservableValue(new PowerLevels({ ownUserId: alice, membership: "join" })); const timeline = new Timeline({roomId, storage, fragmentIdComparer, - clock: new MockClock(), pendingEvents: queue.pendingEvents}); + clock: new MockClock(), pendingEvents: queue.pendingEvents, powerLevelsObservable}); // 3. load the timeline, which will load the message with the reaction await timeline.load(new User(alice), "join", new NullLogItem()); const tiles = mapMessageEntriesToBaseMessageTile(timeline, queue); @@ -310,8 +313,9 @@ export function tests() { await txn.complete(); // 2. setup queue & timeline const queue = new SendQueue({roomId, storage, hsApi: new MockHomeServer().api}); + const powerLevelsObservable = new ObservableValue(new PowerLevels({ ownUserId: alice, membership: "join" })); const timeline = new Timeline({roomId, storage, fragmentIdComparer, - clock: new MockClock(), pendingEvents: queue.pendingEvents}); + clock: new MockClock(), pendingEvents: queue.pendingEvents, powerLevelsObservable}); // 3. load the timeline, which will load the message with the reaction await timeline.load(new User(alice), "join", new NullLogItem()); diff --git a/src/matrix/room/timeline/Timeline.js b/src/matrix/room/timeline/Timeline.js index 11a49f55..bd521e62 100644 --- a/src/matrix/room/timeline/Timeline.js +++ b/src/matrix/room/timeline/Timeline.js @@ -43,8 +43,14 @@ export class Timeline { }); this._readerRequest = null; this._allEntries = null; - this._powerLevels = powerLevelsObservable.get(); - this._disposables.track(powerLevelsObservable.subscribe(powerLevels => this._powerLevels = powerLevels)); + this.initializePowerLevels(powerLevelsObservable); + } + + initializePowerLevels(observable) { + if (observable) { + this._powerLevels = observable.get(); + this._disposables.track(observable.subscribe(powerLevels => this._powerLevels = powerLevels)); + } } /** @package */