mirror of
https://github.com/vector-im/element-web.git
synced 2025-11-28 22:11:41 +01:00
New room list: fix outdated message preview when space or filter change (#29925)
* fix(new room list): fix outdated message preview when space change * test(new room list): verify that message preview is check when room change
This commit is contained in:
parent
0d5a8aafbd
commit
64047b0702
@ -220,7 +220,7 @@ function useRoomMessagePreview(room: Room): string | undefined {
|
||||
room,
|
||||
roomIsDM ? DefaultTagID.DM : DefaultTagID.Untagged,
|
||||
);
|
||||
if (messagePreview) setPreviewText(messagePreview.text);
|
||||
setPreviewText(messagePreview?.text);
|
||||
}, [room, shouldShowMessagePreview]);
|
||||
|
||||
// MessagePreviewStore and the other AsyncStores need to be converted to TypedEventEmitter
|
||||
|
||||
@ -138,6 +138,28 @@ describe("RoomListItemViewModel", () => {
|
||||
expect(vm.current.messagePreview).toBe(undefined);
|
||||
});
|
||||
|
||||
it("should check message preview when room change", async () => {
|
||||
const otherRoom = mkStubRoom("roomId2", "roomName2", room.client);
|
||||
|
||||
jest.spyOn(MessagePreviewStore.instance, "getPreviewForRoom").mockResolvedValue({
|
||||
text: "Message look like this",
|
||||
} as MessagePreview);
|
||||
mocked(useMessagePreviewToggle).mockReturnValue({
|
||||
shouldShowMessagePreview: true,
|
||||
toggleMessagePreview: jest.fn(),
|
||||
});
|
||||
|
||||
const { result: vm, rerender } = renderHook((props) => useRoomListItemViewModel(props), {
|
||||
initialProps: room,
|
||||
...withClientContextRenderOptions(room.client),
|
||||
});
|
||||
await waitFor(() => expect(vm.current.messagePreview).toBe("Message look like this"));
|
||||
|
||||
jest.spyOn(MessagePreviewStore.instance, "getPreviewForRoom").mockResolvedValue(null);
|
||||
rerender(otherRoom);
|
||||
await waitFor(() => expect(vm.current.messagePreview).toBe(undefined));
|
||||
});
|
||||
|
||||
describe("notification", () => {
|
||||
let notificationState: RoomNotificationState;
|
||||
beforeEach(() => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user