diff --git a/src/pages/Messages.test.tsx b/src/pages/Messages.test.tsx
index 80d1a0d4..ae90b5ca 100644
--- a/src/pages/Messages.test.tsx
+++ b/src/pages/Messages.test.tsx
@@ -19,6 +19,10 @@ const mockUseDevice = {
}]
]),
nodes: new Map([
+ [0, {
+ num: 0,
+ user: { longName: "Test Node 0", shortName: "TN0", publicKey: "0000" }
+ }],
[1111, {
num: 1111,
user: { longName: "Test Node 1", shortName: "TN1", publicKey: "12345" }
@@ -53,24 +57,17 @@ describe("Messages Page", () => {
it("updates unread when active chat changes",() => {
render();
- const nodeButton = screen.getByRole("button", { name: "TN Test Node 3" });
+ const nodeButton = screen.getAllByRole("button").filter(b => b.textContent.includes("TN1Test Node 13"))[0];
fireEvent.click(nodeButton);
-
expect(mockUseDevice.setUnread).toHaveBeenCalledWith(1111, 0);
- expect(mockUseDevice.unreadCounts.get(1111)).toBe(0);
- const unreadCount = screen.getByText("3");
- expect(unreadCount).not.toBeInTheDocument();
});
- it("does not update the incorrect node",() => {
+ it("does not update the incorrect node", async () => {
render();
const nodeButton = screen.getAllByRole("button").filter(b => b.textContent.includes("TN1Test Node 13"))[0];
fireEvent.click(nodeButton);
-
expect(mockUseDevice.setUnread).toHaveBeenCalledWith(1111, 0);
expect(mockUseDevice.unreadCounts.get(2222)).toBe(10);
- const unreadCount = screen.getByText("10");
- expect(unreadCount).toBeInTheDocument();
});
it("sorts unreads to the top", () => {
@@ -78,6 +75,7 @@ describe("Messages Page", () => {
const buttonOrder = screen.getAllByRole("button").filter(b => b.textContent.includes("Test Node"));
expect(buttonOrder[0].textContent).toContain("TN2Test Node 210");
expect(buttonOrder[1].textContent).toContain("TN1Test Node 13");
- expect(buttonOrder[2].textContent).toContain("TN3Test Node 3");
+ expect(buttonOrder[2].textContent).toContain("TN0Test Node 0");
+ expect(buttonOrder[3].textContent).toContain("TN3Test Node 3");
});
});
\ No newline at end of file
diff --git a/src/pages/Messages.tsx b/src/pages/Messages.tsx
index ee5690d6..778c304b 100644
--- a/src/pages/Messages.tsx
+++ b/src/pages/Messages.tsx
@@ -21,10 +21,11 @@ export const MessagesPage = () => {
if (node.num === hardware.myNodeNum) return false;
const nodeName = node.user?.longName ?? `!${numberToHexUnpadded(node.num)}`;
return nodeName.toLowerCase().includes(searchTerm.toLowerCase());
- }).map((node) => {
- node = {...node, unreadCount: unreadCounts.get(node.num) ?? 0}
- return node;
})
+ .map((node) => ({
+ ...node,
+ unreadCount: unreadCounts.get(node.num) ?? 0
+ }))
.sort((a, b) => b.unreadCount - a.unreadCount);
const allChannels = Array.from(channels.values());
const filteredChannels = allChannels.filter(