Skip to content

MOSIP-45324-Esignet ui automate not automated test cases from master sheet (MOSIP-22717) - #2210

Merged
zesu22 merged 4 commits into
mosip:developfrom
jayesh12234:develop
Jul 27, 2026
Merged

MOSIP-45324-Esignet ui automate not automated test cases from master sheet (MOSIP-22717)#2210
zesu22 merged 4 commits into
mosip:developfrom
jayesh12234:develop

Conversation

@jayesh12234

@jayesh12234 jayesh12234 commented Jul 23, 2026

Copy link
Copy Markdown

Summary by CodeRabbit

  • New Features

    • Added consent flows for authorize-scope-only requests, including Manage-VID selection and profile navigation.
    • Added biometric login support with device scanning, error detection, and retry actions.
    • Added browser-language detection and validation against configured default languages.
    • Added temporary VID creation and prerequisite VID handling.
  • Bug Fixes

    • Improved browser session cleanup and locale configuration.
    • Enhanced multilingual resource loading and language fallback behavior.
  • Tests

    • Expanded coverage for consent, biometric authentication, localization, and authentication without repeated consent.

Signed-off-by: Jayesh Kharode <jayesh.kharode@technoforte.co.in>
Signed-off-by: Jayesh Kharode <jayesh.kharode@technoforte.co.in>
@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@jayesh12234, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 3 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 52984329-ae1b-4689-be75-a2dd80ad628f

📥 Commits

Reviewing files that changed from the base of the PR and between 280f3f8 and 83a77a4.

📒 Files selected for processing (6)
  • ui-test/src/main/java/pages/ConsentPage.java
  • ui-test/src/main/java/pages/LoginOptionsPage.java
  • ui-test/src/main/java/utils/EsignetUtil.java
  • ui-test/src/main/java/utils/LanguageUtil.java
  • ui-test/src/main/java/utils/ResourceBundleLoader.java
  • ui-test/src/main/java/utils/VIDManager.java

Walkthrough

The UI test suite adds claims-free authorize-scope consent coverage, biometric device-discovery assertions, prerequisite VID handling, browser locale configuration, and default-language validation against env-config.

Changes

Authorize and consent flows

Layer / File(s) Summary
Authorize setup and VID prerequisites
ui-test/src/main/java/base/BaseTest.java, ui-test/src/main/java/utils/EsignetUtil.java, ui-test/src/main/java/utils/VIDManager.java, ui-test/src/main/resources/esignetUI/CreateVID/CreateVid.yml
@AuthorizeScopeOnly generates a claims-free authorize URL with openid Manage-VID; browser storage is cleared before navigation, and perpetual/temporary prerequisite VIDs are resolved from configuration or cache.
Consent page flow and assertions
ui-test/src/main/java/pages/ConsentPage.java, ui-test/src/main/java/stepdefinitions/ConsentStepDefinition.java, ui-test/src/main/resources/featurefiles/ConsentPage.feature, ui-test/src/main/resources/featurefiles/LoginOptions.feature
Consent helpers and scenarios cover eKYC completion, scope selection, absent claim sections, profile redirection, and authentication without a consent request.

Biometric login coverage

Layer / File(s) Summary
Biometric page interactions
ui-test/src/main/java/pages/LoginOptionsPage.java, ui-test/src/main/resources/config.properties
Biometric UI elements, configurable scanning waits, localized device-not-found detection, and scan retry interactions are implemented.
Biometric scenario steps
ui-test/src/main/java/stepdefinitions/LoginOptionsStepDefinition.java, ui-test/src/main/resources/featurefiles/LoginOptions.feature
Cucumber steps validate the secure biometric interface, VID option, scanning state, device-not-found message, and retry behavior.

Locale and language validation

Layer / File(s) Summary
Browser locale setup and resolution
ui-test/src/main/java/utils/BaseTestUtil.java, ui-test/src/main/java/utils/LanguageUtil.java
Chrome, Firefox, and Edge sessions receive configured neutral locales, and browser/env-config language values are normalized to supported ISO codes.
Localized UI assertions
ui-test/src/main/java/pages/MultiLanguagePage.java, ui-test/src/main/java/utils/ResourceBundleLoader.java, ui-test/src/main/java/stepdefinitions/MultiLanguageStepDef.java, ui-test/src/main/resources/featurefiles/{MultiLanguage,LoginOptions}.feature
Tests validate navigator language, language cookies, displayed language, and localized OTP text using ISO-specific resource bundles.

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

Possibly related PRs

Suggested reviewers: bhuvanashreebs, mohanachandran-s

Poem

Scopes appear where claims once grew,
Biometric scans seek devices anew.
VIDs guide the login flight,
Locales make the labels right,
And consent redirects come through.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is related to the change set and indicates UI automation of previously unautomated test cases from the master sheet.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ 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.

@mohanachandran-s mohanachandran-s 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.

Add the description for the PR

Comment thread ui-test/src/main/resources/esignetUI/CreateVID/CreateVid.yml
Restore AddIdentity_Vid_Generation_smoke_Pos_UIN for perpetual and temporary VID creation so prerequisite VIDs stay on the dedicated identity, consistent with api-test and separate from the primary login identity.

Signed-off-by: Jayesh Kharode <jayesh.kharode@technoforte.co.in>
Co-authored-by: Cursor <cursoragent@cursor.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🤖 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 `@ui-test/src/main/java/pages/ConsentPage.java`:
- Around line 448-452: Update waitUntilUserProfilePage() so the navigation log
does not include the OAuth authorization code: remove the query string from
driver.getCurrentUrl() before passing the URL to LOGGER.info. Preserve logging
the non-sensitive URL path and existing wait behavior.

In `@ui-test/src/main/java/pages/LoginOptionsPage.java`:
- Around line 427-429: Replace the hardcoded value returned by
getScanningDevicesPartialText() with the SBI localization resource key for the
scanning-devices message, and update isScanningDevicesMessageDisplayed() and
isRetryScanButtonNotDisplayedWhileScanning() to check it through
isLocalizedTextVisibleWithinBiometricContainer().

In `@ui-test/src/main/java/utils/EsignetUtil.java`:
- Around line 636-664: Centralize the perpetual and temporary VID cache-key
values used by EsignetUtil’s PERPETUAL_VID_CACHE_KEY and TEMPORARY_VID_CACHE_KEY
and VIDManager’s static initializer. Define each literal in one shared
accessible constant and update both consumers to reference it, removing the
duplicate hardcoded values while preserving the existing cache keys.

In `@ui-test/src/main/java/utils/LanguageUtil.java`:
- Around line 107-120: Replace the downloadJson() usage in
LanguageUtil.fetchDefaultLangFromEnvConfig and ResourceBundleLoader with a
URLConnection-based read that sets bounded connect and read timeouts before
obtaining the input stream. Preserve the existing response parsing, locale
behavior, and exception handling in both affected files:
ui-test/src/main/java/utils/LanguageUtil.java (107-120) and
ui-test/src/main/java/utils/ResourceBundleLoader.java (36-68).

In `@ui-test/src/main/java/utils/VIDManager.java`:
- Around line 26-35: Replace the duplicated cache-key literals in the
VID-loading logic of VIDManager with the shared constants or key definitions
from EsignetUtil.java. Update both perpetual and temporary VID lookups while
preserving the existing null, empty-value, and availableVIDs behavior.
🪄 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: Repository UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: b999a833-69dd-4102-9bba-9a9f09cc2baf

📥 Commits

Reviewing files that changed from the base of the PR and between 4edbe7e and 280f3f8.

📒 Files selected for processing (17)
  • ui-test/src/main/java/base/BaseTest.java
  • ui-test/src/main/java/pages/ConsentPage.java
  • ui-test/src/main/java/pages/LoginOptionsPage.java
  • ui-test/src/main/java/pages/MultiLanguagePage.java
  • ui-test/src/main/java/stepdefinitions/ConsentStepDefinition.java
  • ui-test/src/main/java/stepdefinitions/LoginOptionsStepDefinition.java
  • ui-test/src/main/java/stepdefinitions/MultiLanguageStepDef.java
  • ui-test/src/main/java/utils/BaseTestUtil.java
  • ui-test/src/main/java/utils/EsignetUtil.java
  • ui-test/src/main/java/utils/LanguageUtil.java
  • ui-test/src/main/java/utils/ResourceBundleLoader.java
  • ui-test/src/main/java/utils/VIDManager.java
  • ui-test/src/main/resources/config.properties
  • ui-test/src/main/resources/esignetUI/CreateVID/CreateVid.yml
  • ui-test/src/main/resources/featurefiles/ConsentPage.feature
  • ui-test/src/main/resources/featurefiles/LoginOptions.feature
  • ui-test/src/main/resources/featurefiles/MultiLanguage.feature

Comment thread ui-test/src/main/java/pages/ConsentPage.java
Comment thread ui-test/src/main/java/pages/LoginOptionsPage.java Outdated
Comment thread ui-test/src/main/java/utils/EsignetUtil.java Outdated
Comment thread ui-test/src/main/java/utils/LanguageUtil.java
Comment thread ui-test/src/main/java/utils/VIDManager.java Outdated
jayesh12234 pushed a commit to jayesh12234/esignet that referenced this pull request Jul 23, 2026
Sanitize OAuth URL logging, centralize VID cache keys, use localized scanning message checks, and add HTTP timeouts for env-config downloads.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sanitize OAuth URL logging, centralize VID cache keys, use localized scanning message checks, and add HTTP timeouts for env-config downloads.

Signed-off-by: Jayesh Kharode <jayesh.kharode@technoforte.co.in>
Co-authored-by: Cursor <cursoragent@cursor.com>

@zesu22 zesu22 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.

approving because @mohanachandran-s already approved it

@zesu22
zesu22 merged commit 2e1ad7a into mosip:develop Jul 27, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants