diff --git a/test/unit-tests/components/structures/RoomView-test.tsx b/test/unit-tests/components/structures/RoomView-test.tsx
index 58a26ab73e..4449533392 100644
--- a/test/unit-tests/components/structures/RoomView-test.tsx
+++ b/test/unit-tests/components/structures/RoomView-test.tsx
@@ -594,12 +594,14 @@ describe("RoomView", () => {
const { container } = await renderRoomView();
// We no longer show the grey shield for encrypted rooms, so it should not be there.
- await waitFor(() => expect(container.querySelector(".mx_E2EIcon_normal")).not.toBeInTheDocument());
+ await waitFor(() => expect(container.querySelector(".mx_E2EIcon")).not.toBeInTheDocument());
const verificationStatus = new UserVerificationStatus(true, true, false);
jest.spyOn(cli.getCrypto()!, "getUserVerificationStatus").mockResolvedValue(verificationStatus);
cli.emit(CryptoEvent.UserTrustStatusChanged, cli.getSafeUserId(), verificationStatus);
- await waitFor(() => expect(container.querySelector(".mx_E2EIcon_verified")).toBeInTheDocument());
+ await waitFor(() =>
+ expect(container.querySelector(".mx_E2EIcon")).toHaveAccessibleName("Everyone in this room is verified"),
+ );
});
describe("video rooms", () => {
diff --git a/test/unit-tests/components/structures/__snapshots__/MessagePanel-test.tsx.snap b/test/unit-tests/components/structures/__snapshots__/MessagePanel-test.tsx.snap
index 91a7bfb531..77540f0b86 100644
--- a/test/unit-tests/components/structures/__snapshots__/MessagePanel-test.tsx.snap
+++ b/test/unit-tests/components/structures/__snapshots__/MessagePanel-test.tsx.snap
@@ -63,6 +63,17 @@ exports[`MessagePanel should handle lots of membership events quickly 1`] = `
+
diff --git a/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap b/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap
index b7b3034415..9dea69a17c 100644
--- a/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap
+++ b/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap
@@ -141,8 +141,20 @@ exports[`RoomView for a local room in state ERROR should match the snapshot 1`]
class="mx_NewRoomIntro"
>
+
@@ -311,8 +323,20 @@ exports[`RoomView for a local room in state NEW should match the snapshot 1`] =
class="mx_NewRoomIntro"
>
+
@@ -676,6 +700,17 @@ exports[`RoomView for a local room in state NEW that is encrypted should match t
+
@@ -2974,7 +3009,7 @@ exports[`RoomView should not display the timeline when the room encryption is lo
style="width: 12px; height: 12px;"
>
should display the dialog for the device of a
style="width: 24px; height: 24px;"
>
should display the dialog for the device of t
style="width: 24px; height: 24px;"
>
should render MFileBody for svg with no thumbnail 1`] = `
>
+ >
+
+
+
+
Renders as expected 1`] = `
+
+
+
diff --git a/test/unit-tests/components/views/rooms/EventTile-test.tsx b/test/unit-tests/components/views/rooms/EventTile-test.tsx
index db8e2c44c3..bae1719058 100644
--- a/test/unit-tests/components/views/rooms/EventTile-test.tsx
+++ b/test/unit-tests/components/views/rooms/EventTile-test.tsx
@@ -269,8 +269,8 @@ describe("EventTile", () => {
// there should be a warning shield
expect(container.getElementsByClassName("mx_EventTile_e2eIcon")).toHaveLength(1);
- expect(container.getElementsByClassName("mx_EventTile_e2eIcon")[0].classList).toContain(
- "mx_EventTile_e2eIcon_warning",
+ expect(container.getElementsByClassName("mx_EventTile_e2eIcon")[0]).toHaveAccessibleName(
+ "Encrypted by a device not verified by its owner.",
);
});
@@ -298,10 +298,13 @@ describe("EventTile", () => {
it.each([
[EventShieldReason.UNKNOWN, "Unknown error"],
- [EventShieldReason.UNVERIFIED_IDENTITY, "unverified user"],
- [EventShieldReason.UNSIGNED_DEVICE, "device not verified by its owner"],
- [EventShieldReason.UNKNOWN_DEVICE, "unknown or deleted device"],
- [EventShieldReason.AUTHENTICITY_NOT_GUARANTEED, "can't be guaranteed"],
+ [EventShieldReason.UNVERIFIED_IDENTITY, "Encrypted by an unverified user."],
+ [EventShieldReason.UNSIGNED_DEVICE, "Encrypted by a device not verified by its owner."],
+ [EventShieldReason.UNKNOWN_DEVICE, "Encrypted by an unknown or deleted device."],
+ [
+ EventShieldReason.AUTHENTICITY_NOT_GUARANTEED,
+ "The authenticity of this encrypted message can't be guaranteed on this device.",
+ ],
[EventShieldReason.MISMATCHED_SENDER_KEY, "Encrypted by an unverified session"],
[EventShieldReason.SENT_IN_CLEAR, "Not encrypted"],
[EventShieldReason.VERIFICATION_VIOLATION, "Sender's verified identity was reset"],
@@ -326,12 +329,7 @@ describe("EventTile", () => {
const e2eIcons = container.getElementsByClassName("mx_EventTile_e2eIcon");
expect(e2eIcons).toHaveLength(1);
- expect(e2eIcons[0].classList).toContain("mx_EventTile_e2eIcon_normal");
- fireEvent.focus(e2eIcons[0]);
- expect(e2eIcons[0].getAttribute("aria-labelledby")).toBeTruthy();
- expect(document.getElementById(e2eIcons[0].getAttribute("aria-labelledby")!)).toHaveTextContent(
- expectedText,
- );
+ expect(e2eIcons[0]).toHaveAccessibleName(expectedText);
});
describe("undecryptable event", () => {
@@ -360,8 +358,8 @@ describe("EventTile", () => {
expect(eventTiles).toHaveLength(1);
expect(container.getElementsByClassName("mx_EventTile_e2eIcon")).toHaveLength(1);
- expect(container.getElementsByClassName("mx_EventTile_e2eIcon")[0].classList).toContain(
- "mx_EventTile_e2eIcon_decryption_failure",
+ expect(container.getElementsByClassName("mx_EventTile_e2eIcon")[0]).toHaveAccessibleName(
+ "This message could not be decrypted",
);
});
@@ -436,8 +434,8 @@ describe("EventTile", () => {
// check it was updated
expect(container.getElementsByClassName("mx_EventTile_e2eIcon")).toHaveLength(1);
- expect(container.getElementsByClassName("mx_EventTile_e2eIcon")[0].classList).toContain(
- "mx_EventTile_e2eIcon_warning",
+ expect(container.getElementsByClassName("mx_EventTile_e2eIcon")[0]).toHaveAccessibleName(
+ "Encrypted by a device not verified by its owner.",
);
});
@@ -481,9 +479,7 @@ describe("EventTile", () => {
// check it was updated
expect(container.getElementsByClassName("mx_EventTile_e2eIcon")).toHaveLength(1);
- expect(container.getElementsByClassName("mx_EventTile_e2eIcon")[0].classList).toContain(
- "mx_EventTile_e2eIcon_warning",
- );
+ expect(container.getElementsByClassName("mx_EventTile_e2eIcon")[0]).toHaveAccessibleName("Not encrypted");
});
});
diff --git a/test/unit-tests/components/views/rooms/wysiwyg_composer/SendWysiwygComposer-test.tsx b/test/unit-tests/components/views/rooms/wysiwyg_composer/SendWysiwygComposer-test.tsx
index c38b95a1a5..54224c6452 100644
--- a/test/unit-tests/components/views/rooms/wysiwyg_composer/SendWysiwygComposer-test.tsx
+++ b/test/unit-tests/components/views/rooms/wysiwyg_composer/SendWysiwygComposer-test.tsx
@@ -330,10 +330,10 @@ describe("SendWysiwygComposer", () => {
"Left icon when %s",
({ isRichTextEnabled }) => {
it.each([
- [E2EStatus.Verified, "mx_E2EIcon_verified"],
- [E2EStatus.Warning, "mx_E2EIcon_warning"],
+ [E2EStatus.Verified, "Everyone in this room is verified"],
+ [E2EStatus.Warning, "Someone is using an unknown session"],
[undefined, undefined],
- ])("Should render left icon when e2eStatus is %s", async (e2eStatus, expectedClass) => {
+ ])("Should render left icon when e2eStatus is %s", async (e2eStatus, expectedLabel) => {
// When
customRender(jest.fn(), jest.fn(), false, isRichTextEnabled, undefined, e2eStatus);
await waitFor(() => expect(screen.getByRole("textbox")).toHaveAttribute("contentEditable", "true"));
@@ -341,9 +341,9 @@ describe("SendWysiwygComposer", () => {
// Then
expect(leftIcon).toBeInTheDocument();
expect(leftIcon).toHaveClass("mx_E2EIcon");
- if (expectedClass) {
+ if (expectedLabel) {
// eslint-disable-next-line jest/no-conditional-expect
- expect(leftIcon.querySelector("svg")).toHaveClass(expectedClass);
+ expect(leftIcon).toHaveAccessibleName(expectedLabel);
} else {
// eslint-disable-next-line jest/no-conditional-expect
expect(leftIcon.querySelector("svg")).not.toBeInTheDocument();