Skip to content

Fixes current implemented E2E tests including MFA login - #4317

Open
Sadeesha-Sath wants to merge 1 commit into
thunder-id:mainfrom
Sadeesha-Sath:e2e_tests/fix_current_tests
Open

Fixes current implemented E2E tests including MFA login#4317
Sadeesha-Sath wants to merge 1 commit into
thunder-id:mainfrom
Sadeesha-Sath:e2e_tests/fix_current_tests

Conversation

@Sadeesha-Sath

@Sadeesha-Sath Sadeesha-Sath commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Purpose

Fix the currently implemented E2E test suite, both locally and in CI, and un-skip the MFA registration + login test that was previously marked fixme.

The suite had several issues currently:

  • Login/logout page checks took a single instant DOM snapshot, which can fire ahead of the post-login OAuth redirect on Firefox/WebKit and report false "not logged in" results.
  • Local .env defaults, run-e2e.sh, and the CI workflow each carried their own copy of the test dataset, so the data can be inconsistent.
  • The run-e2e.sh admin token request was missing the resource parameter (RFC 8707), and the sample app ID was hardcoded, so a config change to the sample could break the script.
  • MFA setup changed the sample application's flow bindings without ever restoring them, leaving stale state for future tests.
  • The CORS test reused SAMPLE_APP_URL as its test origin, and its cleanup would strip that origin from future tests
  • run-e2e.sh's admin token bootstrap didn't account for the console login flow's new SSO check, so it broke as soon as SSO reuse landed on the console app
  • client-initiated OIDC logout was enabled on the console app but never configured for the react-sample-app so logout test broke

Approach

Config consolidation (single source of truth):

  • Added tests/e2e/defaults.env as the canonical fixed dataset. Both run-e2e.sh (local) and the PR workflow now load it, so defaults are consistent.
  • Reworked the CI step in pr-builder.yaml to load defaults.env and fall back to it, keeping the existing variable priority.
  • Changed tests/e2e/.env.example and tests/e2e/README.md to show that .env is auto-generated and only needed for local overrides.

Test stability fixes

  • Replaced instant snapshot checks with auto-retrying waitFor (using a combined locator.or()) for both the logged-in indicators and the logout affordance, fixing the redirect race condition on Firefox/WebKit.
  • Extracted getOTPErrorMessage() as a reusable helper.
run-e2e.sh:
  • Added the resource parameter to the admin authorize request (tokens are bound to a single resource server per RFC 8707).
  • Look up the "Sample App ID" dynamically via the API instead of hardcoding a UUID.
  • Fixed the admin-token bootstrap for the console login flow's new SSO check
MFA test fixes
  • Un-skipped TC003. Since the React SDK's SignUp component does not redirect after sign-up (unlike SignIn), the test now verifies registration by asserting on the /flow/execute response body, rather than waiting for the missing URL redirect
  • updateApplicationFlows now returns the original flow bindings, and a revertApplicationFlows cleanup step restores them in afterAll.
  • Tightened OTP assertions to hard fail instead of warning.
  • Extracted captureCreatedUserId() for cleanup.

Sample-App client initiated logout flow support

  • With client-initiated OIDC logout enabled, the React SDK sample now sends post_logout_redirect_uri + id_token_hint to /oauth2/logout on sign-out.
  • Added a SIGNOUT flow resource to thunderid-config.yaml of the sample app and wired the application to it
  • The sign-out flow surfaces a confirmation page from the gate before completing the redirect back to the app. Updated logout to click through that confirmation when present, and verifyLoggedOut() to assert the app's home page
Other:
  • CORS test now uses a dedicated fake origin instead of SAMPLE_APP_URL, so its cleanup won't affect other functions.
  • verifyAuthState now confirms the stored token with a real /oauth2/userinfo call, catching server-rejected tokens that client-side checks previously missed.

Related Issues

Related PRs

  • N/A

Checklist

  • Followed the contribution guidelines.
  • Manual test round performed and verified.
  • Documentation provided. (Add links if there are any)
    • Ran Vale and fixed all errors and warnings
  • Tests provided. (Add links if there are any)
    • Unit Tests
    • Integration Tests
  • Breaking changes. (Fill if applicable)
    • Breaking changes section filled.
    • breaking change label added.

Security checks

  • Followed secure coding standards in WSO2 Secure Coding Guidelines
  • Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets.

Summary by CodeRabbit

Summary by CodeRabbit

  • New Features

    • Added E2E coverage for sample app authentication (login/logout) and MFA.
    • Added a sign-out flow for the React SDK sample, including post-logout redirect support.
  • Bug Fixes

    • Improved auth validation by combining client checks with server-side token verification.
    • Made login/logout and OTP/error handling more reliable; strengthened MFA flow assertions and cleanup.
  • Documentation

    • Refreshed E2E setup guide, including canonical defaults and clear environment override precedence.
  • Tests

    • Improved E2E runner credential resolution and flow bootstrapping robustness; made CORS origin checks more deterministic.

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The PR centralizes E2E defaults, updates OAuth and console authentication flows, dynamically discovers the sample application, restores MFA configuration after tests, adds sample-app sign-out configuration, and expands authentication test coverage.

Changes

E2E configuration and authentication reliability

Layer / File(s) Summary
Canonical E2E defaults and environment bootstrap
tests/e2e/defaults.env, tests/e2e/run-e2e.sh, .github/workflows/pr-builder.yml, tests/e2e/README.md, tests/e2e/.env.example
Centralizes defaults and applies Secret/Variable/defaults.env precedence in CI and local E2E setup.
Scoped admin token and application discovery
tests/e2e/run-e2e.sh, .github/workflows/pr-builder.yml
Uses challenge-based admin authentication and dynamically resolves the Sample App identifier.
Server-backed console authentication validation
tests/e2e/utils/authentication/console-admin-auth-utils.ts
Validates stored bearer tokens through /oauth2/userinfo and synchronizes setup with network idle.
MFA application flow restoration
tests/e2e/utils/server-setup/mfa-setup.ts
Saves application flow bindings, applies MFA flows, and restores the original bindings during cleanup.
Sample application sign-out configuration
samples/apps/react-sdk-sample/thunderid-config/thunderid-config.yaml
Adds and enables a confirmation-based sign-out flow with post-logout redirect URIs.
Sample application authentication coverage
tests/e2e/pages/sample-app/*, tests/e2e/tests/sample-app-authentication/*, tests/e2e/tests/settings/cors-allowed-origins.spec.ts
Adds single-factor login/logout tests and revises MFA, locator, OTP error, cleanup, and CORS test behavior.

Estimated code review effort: 4 (Complex) | ~60 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Playwright
  participant SampleApp
  participant ServerAPI
  participant MockSMS
  Playwright->>SampleApp: submit registration
  SampleApp->>ServerAPI: POST /flow/execute
  ServerAPI-->>Playwright: COMPLETE flow response
  SampleApp->>MockSMS: deliver OTP
  Playwright->>SampleApp: submit MFA login and OTP
  SampleApp->>ServerAPI: validate credentials and OTP
  ServerAPI-->>SampleApp: authenticated session
Loading

Possibly related PRs

Suggested reviewers: brionmario, donomalvindula, malith-19, madurangasiriwardena

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and clearly points to the main change: fixing the E2E tests, including MFA login.
Description check ✅ Passed The description follows the template with Purpose, Approach, Related Issues, Checklist, and Security checks filled in.
Linked Issues check ✅ Passed The changes address #4276 by fixing broken console/admin E2E flows, improving stability, and unskipping the MFA test.
Out of Scope Changes check ✅ Passed The added config, docs, and sample-app logout support are tied to the E2E test-fix objectives and not clearly out of scope.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/pr-builder.yml (1)

910-914: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Fail when Sample App discovery fails.

This writes an empty SAMPLE_APP_ID, but tests/e2e/tests/applications/application-edit.spec.ts requires it and then fails later with a less actionable error. Exit this step non-zero instead.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/pr-builder.yml around lines 910 - 914, Update the Sample
App discovery branch in the workflow step to exit non-zero after logging the
warning, available applications, and empty SAMPLE_APP_ID output when
SAMPLE_APP_ID is missing or null. Keep the successful discovery path unchanged
so downstream tests receive the discovered ID.
🧹 Nitpick comments (1)
tests/e2e/tests/sample-app-authentication/sample-app-mfa-login.spec.ts (1)

84-125: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Reuse the shared admin token getter before querying users.

captureCreatedUserId still sends the admin password grant directly to /oauth2/token, so it can drift from the flow-token path used by the rest of the e2e utility layer. Move this into the existing admin-auth utility or pass in the shared token instead of duplicating the request.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/e2e/tests/sample-app-authentication/sample-app-mfa-login.spec.ts`
around lines 84 - 125, Update captureCreatedUserId to obtain the admin token
through the existing shared admin-auth utility or receive the already-resolved
shared token as an argument, removing its direct password-grant request to
/oauth2/token. Preserve the existing user lookup, cleanup-list update, and
best-effort error handling.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/pr-builder.yml:
- Around line 1048-1051: Resolve a single admin username/password pair before
workflow startup using the documented Secret > Variable > defaults.env
precedence, including the corresponding variable names. Reuse those resolved
credentials for server bootstrap, token acquisition, and Playwright environment
values instead of hardcoded or independently resolved credentials, while
preserving the existing default fallback behavior.

In `@tests/e2e/pages/sample-app/sample-app-login.page.ts`:
- Around line 298-308: The getOTPErrorMessage() method currently swallows
Playwright strict-mode violations by converting all textContent() failures to an
empty string. Narrow its locator or explicitly select one matching element, such
as the first match, before calling textContent(), while preserving the
empty-string fallback when no OTP error is present.

In `@tests/e2e/run-e2e.sh`:
- Around line 304-311: Update the environment setup in the E2E runner after both
existing and newly created `.env` files are handled, ensuring the discovered
`SAMPLE_APP_ID` and other run-specific values are written or injected even when
`.env` already exists. Preserve the current defaults creation behavior and
ensure `application-edit.spec.ts` receives the required `SAMPLE_APP_ID`.

In `@tests/e2e/tests/sample-app-authentication/sample-app-mfa-login.spec.ts`:
- Around line 507-515: Update the OTP page verification block around
verifyOTPPageLoaded in TC003 to let failures propagate instead of catching the
error and returning. Remove the tolerant missing-MFA path so steps 15–19 execute
only after successful OTP-page verification and test failure triggers the normal
cleanup lifecycle, including captureCreatedUserId.

In `@tests/e2e/utils/authentication/console-admin-auth-utils.ts`:
- Around line 217-230: Add tests for the token validation flow surrounding the
userinfo request in the authentication utilities, covering a successful
response, a non-OK response, and a request rejection/error. Verify each outcome
drives the expected fallback-to-inline-login behavior, including false results
for rejected or failed validation, and follow the existing test patterns and
mocks.

---

Outside diff comments:
In @.github/workflows/pr-builder.yml:
- Around line 910-914: Update the Sample App discovery branch in the workflow
step to exit non-zero after logging the warning, available applications, and
empty SAMPLE_APP_ID output when SAMPLE_APP_ID is missing or null. Keep the
successful discovery path unchanged so downstream tests receive the discovered
ID.

---

Nitpick comments:
In `@tests/e2e/tests/sample-app-authentication/sample-app-mfa-login.spec.ts`:
- Around line 84-125: Update captureCreatedUserId to obtain the admin token
through the existing shared admin-auth utility or receive the already-resolved
shared token as an argument, removing its direct password-grant request to
/oauth2/token. Preserve the existing user lookup, cleanup-list update, and
best-effort error handling.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: a83a5b0f-fb12-4951-b7aa-3036fd2c415b

📥 Commits

Reviewing files that changed from the base of the PR and between 189e635 and 782fffb.

📒 Files selected for processing (11)
  • .github/workflows/pr-builder.yml
  • tests/e2e/.env.example
  • tests/e2e/README.md
  • tests/e2e/defaults.env
  • tests/e2e/pages/sample-app/sample-app-login.page.ts
  • tests/e2e/run-e2e.sh
  • tests/e2e/tests/sample-app-authentication/sample-app-login.spec.ts
  • tests/e2e/tests/sample-app-authentication/sample-app-mfa-login.spec.ts
  • tests/e2e/tests/settings/cors-allowed-origins.spec.ts
  • tests/e2e/utils/authentication/console-admin-auth-utils.ts
  • tests/e2e/utils/server-setup/mfa-setup.ts

Comment thread .github/workflows/pr-builder.yml Outdated
Comment thread tests/e2e/pages/sample-app/sample-app-login.page.ts
Comment thread tests/e2e/run-e2e.sh Outdated
Comment thread tests/e2e/tests/sample-app-authentication/sample-app-mfa-login.spec.ts Outdated
Comment thread tests/e2e/utils/authentication/console-admin-auth-utils.ts

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tests/e2e/run-e2e.sh`:
- Around line 156-163: Remove the unconditional curl -k option from the flow
requests in tests/e2e/run-e2e.sh lines 156-163 so TLS certificate validation
remains enabled when sending admin credentials and challenge tokens; use an
explicit trusted CA bundle only if local certificates require it. Apply the same
certificate-validation-preserving change to the applications request at
tests/e2e/run-e2e.sh line 287 carrying ADMIN_TOKEN.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 684c70c1-a2f7-4179-b8a2-77e95dea34dd

📥 Commits

Reviewing files that changed from the base of the PR and between 782fffb and b4a921f.

📒 Files selected for processing (12)
  • .github/workflows/pr-builder.yml
  • samples/apps/react-sdk-sample/thunderid-config/thunderid-config.yaml
  • tests/e2e/.env.example
  • tests/e2e/README.md
  • tests/e2e/defaults.env
  • tests/e2e/pages/sample-app/sample-app-login.page.ts
  • tests/e2e/run-e2e.sh
  • tests/e2e/tests/sample-app-authentication/sample-app-login.spec.ts
  • tests/e2e/tests/sample-app-authentication/sample-app-mfa-login.spec.ts
  • tests/e2e/tests/settings/cors-allowed-origins.spec.ts
  • tests/e2e/utils/authentication/console-admin-auth-utils.ts
  • tests/e2e/utils/server-setup/mfa-setup.ts
🚧 Files skipped from review as they are similar to previous changes (9)
  • tests/e2e/defaults.env
  • tests/e2e/tests/settings/cors-allowed-origins.spec.ts
  • tests/e2e/tests/sample-app-authentication/sample-app-login.spec.ts
  • tests/e2e/.env.example
  • tests/e2e/pages/sample-app/sample-app-login.page.ts
  • tests/e2e/README.md
  • tests/e2e/utils/authentication/console-admin-auth-utils.ts
  • tests/e2e/tests/sample-app-authentication/sample-app-mfa-login.spec.ts
  • tests/e2e/utils/server-setup/mfa-setup.ts

Comment thread tests/e2e/run-e2e.sh
@Sadeesha-Sath
Sadeesha-Sath force-pushed the e2e_tests/fix_current_tests branch from b4a921f to 69a1a97 Compare July 24, 2026 09:10

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/pr-builder.yml:
- Around line 722-734: Update .github/workflows/pr-builder.yml lines 722-734 in
the “Resolve Admin Credentials” step to declare vars.PLAYWRIGHT_ADMIN_PASSWORD
and resolve ADMIN_PASSWORD in Secret > Variable > defaults.env order. At lines
1067-1078, add the corresponding vars.PLAYWRIGHT_TEST_USER_* and
vars.SAMPLE_APP_* fallbacks for every credential, placing each variable between
its secret and env.DEFAULT_* value; preserve the existing credential resolution
behavior otherwise.
- Line 807: Update the request payload construction at the credential
authentication step to JSON-serialize the username and password values rather
than interpolating them directly into the JSON string. Preserve the existing
EXEC_ID, CHALLENGE_TOKEN, and action_001 fields while ensuring special
characters in ADMIN_USERNAME and ADMIN_PASSWORD produce valid JSON.

In `@tests/e2e/run-e2e.sh`:
- Around line 159-161: Validate CHALLENGE_TOKEN immediately after parsing
PROMPT_RESP and before the /flow/execute curl request; if it is empty or
invalid, terminate the script without submitting admin credentials. Preserve the
existing token extraction behavior while ensuring the second request only runs
with a non-empty challenge token.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 3d5533af-5656-450f-b5e8-1bf9b7908174

📥 Commits

Reviewing files that changed from the base of the PR and between b4a921f and 69a1a97.

📒 Files selected for processing (12)
  • .github/workflows/pr-builder.yml
  • samples/apps/react-sdk-sample/thunderid-config/thunderid-config.yaml
  • tests/e2e/.env.example
  • tests/e2e/README.md
  • tests/e2e/defaults.env
  • tests/e2e/pages/sample-app/sample-app-login.page.ts
  • tests/e2e/run-e2e.sh
  • tests/e2e/tests/sample-app-authentication/sample-app-login.spec.ts
  • tests/e2e/tests/sample-app-authentication/sample-app-mfa-login.spec.ts
  • tests/e2e/tests/settings/cors-allowed-origins.spec.ts
  • tests/e2e/utils/authentication/console-admin-auth-utils.ts
  • tests/e2e/utils/server-setup/mfa-setup.ts
🚧 Files skipped from review as they are similar to previous changes (9)
  • tests/e2e/defaults.env
  • samples/apps/react-sdk-sample/thunderid-config/thunderid-config.yaml
  • tests/e2e/.env.example
  • tests/e2e/pages/sample-app/sample-app-login.page.ts
  • tests/e2e/tests/sample-app-authentication/sample-app-login.spec.ts
  • tests/e2e/utils/server-setup/mfa-setup.ts
  • tests/e2e/tests/settings/cors-allowed-origins.spec.ts
  • tests/e2e/README.md
  • tests/e2e/tests/sample-app-authentication/sample-app-mfa-login.spec.ts

Comment thread .github/workflows/pr-builder.yml
Comment thread .github/workflows/pr-builder.yml Outdated
Comment thread tests/e2e/run-e2e.sh
@Sadeesha-Sath
Sadeesha-Sath force-pushed the e2e_tests/fix_current_tests branch 2 times, most recently from 1e2e71e to 62cb853 Compare July 24, 2026 10:17
@Sadeesha-Sath
Sadeesha-Sath force-pushed the e2e_tests/fix_current_tests branch from 62cb853 to 36e2e78 Compare July 24, 2026 17:58

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
tests/e2e/utils/server-setup/mfa-setup.ts (1)

505-513: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Duplicate inline "flow bindings" type.

The same anonymous object type (authFlowId, registrationFlowId, recoveryFlowId, isRegistrationFlowEnabled) is declared inline in both updateApplicationFlows()'s return type and revertApplicationFlows()'s parameter type. Extracting a shared interface/type (e.g. ApplicationFlowBindings) would avoid duplication and keep both signatures in sync if the shape changes.

♻️ Suggested refactor
+interface ApplicationFlowBindings {
+  authFlowId: string;
+  registrationFlowId: string;
+  recoveryFlowId: string | null;
+  isRegistrationFlowEnabled: boolean;
+}
+
   private async updateApplicationFlows(
     adminToken: string,
     authFlowId: string,
     registrationFlowId: string
-  ): Promise<{
-    appId: string;
-    originalFlows: {
-      authFlowId: string;
-      registrationFlowId: string;
-      recoveryFlowId: string | null;
-      isRegistrationFlowEnabled: boolean;
-    };
-  }> {
+  ): Promise<{ appId: string; originalFlows: ApplicationFlowBindings }> {
   private async revertApplicationFlows(
     adminToken: string,
     appId: string,
-    originalFlows: {
-      authFlowId: string;
-      registrationFlowId: string;
-      recoveryFlowId: string | null;
-      isRegistrationFlowEnabled: boolean;
-    }
+    originalFlows: ApplicationFlowBindings
   ): Promise<void> {

Also applies to: 593-598

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/e2e/utils/server-setup/mfa-setup.ts` around lines 505 - 513, Extract
the duplicated flow-binding object shape into a shared type or interface, such
as ApplicationFlowBindings, near the related declarations. Update both
updateApplicationFlows()’s return type and revertApplicationFlows()’s parameter
type to reuse it, preserving the existing fields and nullability.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tests/e2e/README.md`:
- Around line 78-79: Update the configuration instruction near the run-e2e.sh
description to replace the em dash with a comma or period, preserving the
existing meaning and links while ensuring the text contains no em dash.

---

Nitpick comments:
In `@tests/e2e/utils/server-setup/mfa-setup.ts`:
- Around line 505-513: Extract the duplicated flow-binding object shape into a
shared type or interface, such as ApplicationFlowBindings, near the related
declarations. Update both updateApplicationFlows()’s return type and
revertApplicationFlows()’s parameter type to reuse it, preserving the existing
fields and nullability.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 38e51ab9-e95c-4afc-8292-ede555dd4c2d

📥 Commits

Reviewing files that changed from the base of the PR and between 62cb853 and 36e2e78.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (12)
  • .github/workflows/pr-builder.yml
  • samples/apps/react-sdk-sample/thunderid-config/thunderid-config.yaml
  • tests/e2e/.env.example
  • tests/e2e/README.md
  • tests/e2e/defaults.env
  • tests/e2e/pages/sample-app/sample-app-login.page.ts
  • tests/e2e/run-e2e.sh
  • tests/e2e/tests/sample-app-authentication/sample-app-login.spec.ts
  • tests/e2e/tests/sample-app-authentication/sample-app-mfa-login.spec.ts
  • tests/e2e/tests/settings/cors-allowed-origins.spec.ts
  • tests/e2e/utils/authentication/console-admin-auth-utils.ts
  • tests/e2e/utils/server-setup/mfa-setup.ts
🚧 Files skipped from review as they are similar to previous changes (9)
  • tests/e2e/defaults.env
  • tests/e2e/.env.example
  • samples/apps/react-sdk-sample/thunderid-config/thunderid-config.yaml
  • tests/e2e/tests/sample-app-authentication/sample-app-login.spec.ts
  • tests/e2e/pages/sample-app/sample-app-login.page.ts
  • tests/e2e/tests/settings/cors-allowed-origins.spec.ts
  • tests/e2e/tests/sample-app-authentication/sample-app-mfa-login.spec.ts
  • tests/e2e/utils/authentication/console-admin-auth-utils.ts
  • .github/workflows/pr-builder.yml

Comment thread tests/e2e/README.md Outdated
@Sadeesha-Sath
Sadeesha-Sath force-pushed the e2e_tests/fix_current_tests branch 2 times, most recently from 1846ceb to b891b01 Compare July 26, 2026 09:38
@rajithacharith rajithacharith added the trigger-pr-builder Add when the PR is ready for CI; starts the PR Builder for this and all later pushes label Jul 27, 2026
@codecov

codecov Bot commented Jul 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Sadeesha-Sath
Sadeesha-Sath force-pushed the e2e_tests/fix_current_tests branch from b891b01 to dd4bd75 Compare July 27, 2026 09:47
@Sadeesha-Sath
Sadeesha-Sath force-pushed the e2e_tests/fix_current_tests branch from dd4bd75 to d66d618 Compare July 29, 2026 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

trigger-pr-builder Add when the PR is ready for CI; starts the PR Builder for this and all later pushes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix the current E2E Tests

2 participants