Provide the Learn More link for verify_toast_description (#32857)
* Provide the Learn More link for verify_toast_description * Screenshot test for verify this device toast
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
import { type GeneratedSecretStorageKey } from "matrix-js-sdk/src/crypto-api";
|
import { type GeneratedSecretStorageKey } from "matrix-js-sdk/src/crypto-api";
|
||||||
|
|
||||||
import { test, expect } from "../../element-web-test";
|
import { test, expect } from "../../element-web-test";
|
||||||
import { createBot, deleteCachedSecrets, disableKeyBackup, logIntoElementAndVerify } from "./utils";
|
import { createBot, deleteCachedSecrets, disableKeyBackup, logIntoElement, logIntoElementAndVerify } from "./utils";
|
||||||
import { type Bot } from "../../pages/bot";
|
import { type Bot } from "../../pages/bot";
|
||||||
|
|
||||||
test.describe("Key storage out of sync toast", () => {
|
test.describe("Key storage out of sync toast", () => {
|
||||||
@@ -181,3 +181,35 @@ test.describe("'Turn on key storage' toast", () => {
|
|||||||
await toasts.assertNoToasts();
|
await toasts.assertNoToasts();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test.describe("Verify this device toast", () => {
|
||||||
|
test(
|
||||||
|
"The toast is displayed if we are not verified",
|
||||||
|
{ tag: "@screenshot" },
|
||||||
|
async ({ page, credentials, homeserver }) => {
|
||||||
|
// Ensure the user already has a device, and an encrypted toom, so
|
||||||
|
// we need to verify when we log in
|
||||||
|
const { botClient } = await createBot(page, homeserver, credentials, true);
|
||||||
|
await botClient.createRoom({
|
||||||
|
initial_state: [
|
||||||
|
{
|
||||||
|
type: "m.room.encryption",
|
||||||
|
state_key: "",
|
||||||
|
content: { algorithm: "m.megolm.v1.aes-sha2" },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
|
// Log in without verifying
|
||||||
|
await logIntoElement(page, credentials);
|
||||||
|
const authPage = page.locator(".mx_AuthPage");
|
||||||
|
await authPage.getByRole("button", { name: "Skip verification for now" }).click();
|
||||||
|
await authPage.getByRole("button", { name: "I'll verify later" }).click();
|
||||||
|
await page.waitForSelector(".mx_MatrixChat");
|
||||||
|
|
||||||
|
await expect(page.getByRole("heading", { name: "Verify this device" })).toBeVisible();
|
||||||
|
|
||||||
|
await expect(page.locator(".mx_ToastContainer")).toMatchScreenshot("verify-this-device.png");
|
||||||
|
},
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@@ -124,12 +124,22 @@ const getSecondaryButtonLabel = (state: DeviceStateForToast): string => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const getDescription = (state: DeviceStateForToast): string => {
|
const getDescription = (state: DeviceStateForToast): string | React.ReactNode => {
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case "set_up_recovery":
|
case "set_up_recovery":
|
||||||
return _t("encryption|set_up_recovery_toast_description");
|
return _t("encryption|set_up_recovery_toast_description");
|
||||||
case "verify_this_session":
|
case "verify_this_session":
|
||||||
return _t("encryption|verify_toast_description");
|
return _t("encryption|verify_toast_description", undefined, {
|
||||||
|
a: (sub) => (
|
||||||
|
<a
|
||||||
|
href="https://docs.element.io/latest/element-support/device-verification/how-to-verify-devices/"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer noopener"
|
||||||
|
>
|
||||||
|
{sub}
|
||||||
|
</a>
|
||||||
|
),
|
||||||
|
});
|
||||||
case "key_storage_out_of_sync":
|
case "key_storage_out_of_sync":
|
||||||
return _t("encryption|key_storage_out_of_sync_description");
|
return _t("encryption|key_storage_out_of_sync_description");
|
||||||
case "turn_on_key_storage":
|
case "turn_on_key_storage":
|
||||||
|
|||||||
Reference in New Issue
Block a user