diff --git a/test/unit-tests/components/views/rooms/PresenceIconView-test.tsx b/test/unit-tests/components/views/rooms/PresenceIconView-test.tsx
new file mode 100644
index 0000000000..f5c363fa67
--- /dev/null
+++ b/test/unit-tests/components/views/rooms/PresenceIconView-test.tsx
@@ -0,0 +1,42 @@
+/*
+Copyright 2024 New Vector Ltd.
+Copyright 2023 The Matrix.org Foundation C.I.C.
+
+SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
+Please see LICENSE files in the repository root for full details.
+*/
+
+import React from "react";
+import { render } from "jest-matrix-react";
+
+import AvatarPresenceIconView from "../../../../../src/components/views/rooms/PresenceIconView";
+
+describe("", () => {
+ it("renders correctly for presence=online", () => {
+ const { container } = render();
+ expect(container.querySelector(".mx_PresenceIconView_online")).toBeDefined();
+ expect(container).toMatchSnapshot();
+ });
+
+ it("renders correctly for presence=offline", () => {
+ const { container } = render();
+ expect(container.querySelector(".mx_PresenceIconView_offline")).toBeDefined();
+ expect(container).toMatchSnapshot();
+ });
+
+ it("renders correctly for presence=unavailable/unreachable", () => {
+ const { container: container1 } = render();
+ expect(container1.querySelector(".mx_PresenceIconView_unavailable")).toBeDefined();
+ expect(container1).toMatchSnapshot();
+
+ const { container: container2 } = render();
+ expect(container2.querySelector(".mx_PresenceIconView_unavailable")).toBeDefined();
+ expect(container2).toMatchSnapshot();
+ });
+
+ it("renders correctly for presence=busy", () => {
+ const { container } = render();
+ expect(container.querySelector(".mx_PresenceIconView_dnd")).toBeDefined();
+ expect(container).toMatchSnapshot();
+ });
+});
diff --git a/test/unit-tests/components/views/rooms/__snapshots__/PresenceIconView-test.tsx.snap b/test/unit-tests/components/views/rooms/__snapshots__/PresenceIconView-test.tsx.snap
new file mode 100644
index 0000000000..edf24f529e
--- /dev/null
+++ b/test/unit-tests/components/views/rooms/__snapshots__/PresenceIconView-test.tsx.snap
@@ -0,0 +1,175 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[` renders correctly for presence=busy 1`] = `
+
+`;
+
+exports[` renders correctly for presence=offline 1`] = `
+
+`;
+
+exports[` renders correctly for presence=online 1`] = `
+
+`;
+
+exports[` renders correctly for presence=unavailable/unreachable 1`] = `
+
+`;
+
+exports[` renders correctly for presence=unavailable/unreachable 2`] = `
+
+`;