diff --git a/suite-native/app/e2e/pageObjects/bottomSheetActions.ts b/suite-native/app/e2e/pageObjects/bottomSheetActions.ts
index d64fe0054f8b..87cda6d188df 100644
--- a/suite-native/app/e2e/pageObjects/bottomSheetActions.ts
+++ b/suite-native/app/e2e/pageObjects/bottomSheetActions.ts
@@ -2,7 +2,7 @@ class BottomSheetActions {
async skipViewOnlyMode() {
const skipViewOnlyModeButton = element(by.id('skip-view-only-mode'));
- await waitFor(skipViewOnlyModeButton).toBeVisible().withTimeout(10000);
+ await waitFor(skipViewOnlyModeButton).toBeVisible().withTimeout(20000);
await skipViewOnlyModeButton.tap();
}
}
diff --git a/suite-native/app/e2e/pageObjects/deviceAuthenticitySummary.ts b/suite-native/app/e2e/pageObjects/deviceAuthenticitySummary.ts
new file mode 100644
index 000000000000..2755380e2bbc
--- /dev/null
+++ b/suite-native/app/e2e/pageObjects/deviceAuthenticitySummary.ts
@@ -0,0 +1,16 @@
+class DeviceAuthenticitySummary {
+ async waitForScreen() {
+ await waitFor(element(by.id('@screen/AuthenticitySummary')))
+ .toBeVisible()
+ .withTimeout(10000);
+ }
+
+ async tapCloseButton() {
+ const closeButton = element(by.id('@device-authenticity/close-button'));
+
+ await waitFor(closeButton).toBeVisible().withTimeout(10000);
+ await closeButton.tap();
+ }
+}
+
+export const onDeviceAuthenticitySummary = new DeviceAuthenticitySummary();
diff --git a/suite-native/app/e2e/pageObjects/deviceSettingsActions.ts b/suite-native/app/e2e/pageObjects/deviceSettingsActions.ts
index 1225a936e44f..2d57c07bfc82 100644
--- a/suite-native/app/e2e/pageObjects/deviceSettingsActions.ts
+++ b/suite-native/app/e2e/pageObjects/deviceSettingsActions.ts
@@ -1,3 +1,7 @@
+import { scrollUntilVisible } from '../utils';
+
+const checkAuthenticityButtonId = by.id('@device-authenticity/check-button');
+
class DeviceSettingsActions {
async waitForScreen() {
await waitFor(element(by.id('@screen/DeviceSettings')))
@@ -25,6 +29,17 @@ class DeviceSettingsActions {
await waitFor(disablePinProtectionButton).toBeVisible().withTimeout(10000);
await disablePinProtectionButton.tap();
}
+
+ async scrollUntilCheckAuthenticityButtonIsVisible() {
+ await scrollUntilVisible(checkAuthenticityButtonId);
+ }
+
+ async tapCheckAuthenticityButton() {
+ const checkAuthenticityButton = element(checkAuthenticityButtonId);
+
+ await waitFor(checkAuthenticityButton).toBeVisible().withTimeout(10000);
+ await checkAuthenticityButton.tap();
+ }
}
export const onDeviceSettings = new DeviceSettingsActions();
diff --git a/suite-native/app/e2e/tests/deviceSettings.test.ts b/suite-native/app/e2e/tests/deviceSettings.test.ts
index 91181b7f0d39..448778da1515 100644
--- a/suite-native/app/e2e/tests/deviceSettings.test.ts
+++ b/suite-native/app/e2e/tests/deviceSettings.test.ts
@@ -5,6 +5,7 @@ import { onAlertSheet } from '../pageObjects/alertSheetActions';
import { onBottomSheet } from '../pageObjects/bottomSheetActions';
import { onCoinEnablingInit } from '../pageObjects/coinEnablingActions';
import { onConnectingDevice } from '../pageObjects/connectingDevice';
+import { onDeviceAuthenticitySummary } from '../pageObjects/deviceAuthenticitySummary';
import { onDeviceManager } from '../pageObjects/deviceManagerActions';
import { onDeviceSettings } from '../pageObjects/deviceSettingsActions';
import { onOnboarding } from '../pageObjects/onboardingActions';
@@ -77,4 +78,22 @@ conditionalDescribe(device.getPlatform() !== 'android', 'Device settings', () =>
await onDeviceSettings.waitForScreen();
});
+
+ test('Check device authenticity', async () => {
+ await onDeviceSettings.scrollUntilCheckAuthenticityButtonIsVisible();
+ await onDeviceSettings.tapCheckAuthenticityButton();
+
+ await onAlertSheet.tapPrimaryButton();
+ await TrezorUserEnvLink.pressNo();
+
+ await onDeviceSettings.tapCheckAuthenticityButton();
+
+ await onAlertSheet.tapPrimaryButton();
+ await TrezorUserEnvLink.pressYes();
+
+ await onDeviceAuthenticitySummary.waitForScreen();
+ await onDeviceAuthenticitySummary.tapCloseButton();
+
+ await onDeviceSettings.waitForScreen();
+ });
});
diff --git a/suite-native/app/e2e/utils.ts b/suite-native/app/e2e/utils.ts
index 7b8d79b5e60c..0ab986953518 100644
--- a/suite-native/app/e2e/utils.ts
+++ b/suite-native/app/e2e/utils.ts
@@ -97,7 +97,7 @@ export const prepareTrezorEmulator = async (seed: string = MNEMONICS.mnemonic_im
// Prepare Trezor device for test scenario
await TrezorUserEnvLink.disconnect();
await TrezorUserEnvLink.connect();
- await TrezorUserEnvLink.startEmu({ wipe: true });
+ await TrezorUserEnvLink.startEmu({ model: 'T3T1', wipe: true });
await TrezorUserEnvLink.setupEmu({
label: TREZOR_DEVICE_LABEL,
mnemonic: seed,
diff --git a/suite-native/module-device-settings/src/components/DeviceAuthenticityCard.tsx b/suite-native/module-device-settings/src/components/DeviceAuthenticityCard.tsx
index 8b5a81b11367..da2a50be3350 100644
--- a/suite-native/module-device-settings/src/components/DeviceAuthenticityCard.tsx
+++ b/suite-native/module-device-settings/src/components/DeviceAuthenticityCard.tsx
@@ -89,7 +89,12 @@ export const DeviceAuthenticityCard = () => {
-
)}
-
+