From c39f4c17a5e61a3486dde5abe7d81c6ae676e71b Mon Sep 17 00:00:00 2001 From: dianaKhortiuk-frontegg Date: Wed, 18 Mar 2026 10:58:59 +0000 Subject: [PATCH 1/2] Use shared Frontegg credentials in example app and add E2E tests review - Set example app baseUrl/clientId to app-x4gr8g28fxr5.frontegg.com - Update iOS entitlements associated domains to match - Add docs/E2E_REACT_NATIVE_TESTS_REVIEW.md for e2e-system-tests/mobile-sdk alignment Made-with: Cursor --- docs/E2E_REACT_NATIVE_TESTS_REVIEW.md | 120 ++++++++++++++++++ example/android/app/build.gradle | 4 +- example/ios/Frontegg.plist | 4 +- .../ReactNativeExample.entitlements | 7 +- 4 files changed, 126 insertions(+), 9 deletions(-) create mode 100644 docs/E2E_REACT_NATIVE_TESTS_REVIEW.md diff --git a/docs/E2E_REACT_NATIVE_TESTS_REVIEW.md b/docs/E2E_REACT_NATIVE_TESTS_REVIEW.md new file mode 100644 index 0000000..620545d --- /dev/null +++ b/docs/E2E_REACT_NATIVE_TESTS_REVIEW.md @@ -0,0 +1,120 @@ +# Review: React Native E2E Tests (e2e-system-tests/mobile-sdk) + +This document reviews the React Native tests in the **e2e-system-tests** repo (`mobile-sdk/nightwatch/mobile-app-tests/react-native-sdk/`) against the **frontegg-react-native** SDK and its example app. + +--- + +## 1. Overview + +| Item | Location / Details | +|------|-------------------| +| **E2E repo** | `e2e-system-tests/mobile-sdk` | +| **App under test** | `frontegg-react-native/example` (iOS & Android) | +| **Framework** | Nightwatch.js + Appium | +| **Environments** | `app.ios.react-native-sdk.hosted`, `app.android.react-native-sdk.hosted` | + +The tests assume the example app is built from `frontegg-react-native/example` and that the e2e repo can resolve the app binary via relative paths (`../../frontegg-react-native`, `../frontegg-react-native`, or `frontegg-react-native` from cwd). + +--- + +## 2. Credentials Alignment + +- **E2E auth-utils** (`auth-utils.ts`) uses: + - `clientId`: `5f493de4-01c5-4a61-8642-fca650a6a9dc` + - `serviceGateway`: `https://app-x4gr8g28fxr5.frontegg.com` +- **Example app** (after your recent change) uses the same: + - iOS: `Frontegg.plist` — `baseUrl`, `clientId` + - Android: `build.gradle` — `fronteggDomain`, `fronteggClientId` + +So the e2e suite and the example app are aligned on the same Frontegg app. No change needed in e2e for credentials. + +--- + +## 3. Page Object & Selectors vs Example App + +### 3.1 Start page (unauthenticated) + +| E2E selector | Example app (HomeScreen) | Notes | +|--------------|-------------------------|--------| +| Login button: `@name="Login"` (iOS) / `@text="Login"` (Android) | `