Skip to content

MS-1458 Subject pool validation UX rework#1695

Open
luhmirin-s wants to merge 2 commits into
mainfrom
feature/SM-1452-id-pool-validation-rework-2
Open

MS-1458 Subject pool validation UX rework#1695
luhmirin-s wants to merge 2 commits into
mainfrom
feature/SM-1452-id-pool-validation-rework-2

Conversation

@luhmirin-s
Copy link
Copy Markdown
Contributor

@luhmirin-s luhmirin-s commented Jun 4, 2026

JIRA ticket
Will be released in: 2026.3.0

Notable changes

  • Changed the feature flag from "hidden-by-default" to a "on-by-default" to promote the pool validation while allowing to disabled when required.
  • Added pool validation to Enrol+ flows (with the "no-records" being a success state).

Testing guidance

  • Enable enrol+ and module identification
  • Do not have the correct module selected on the device
  • Run enrolment flow to trigger ID

Additional work checklist

  • Effect on other features and security has been considered
  • Design document marked as "In development" (if applicable)
  • External (Gitbook) and internal (Confluence) Documentation is up to date (or ticket created)
  • Test cases in Testiny are up to date (or ticket created)
  • Other teams notified about the changes (if applicable)

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR reworks the “subject pool validation” UX and wiring so pool validation is enabled by default (but can be disabled via project custom config), and is also applied to Enrol+ flows with updated “no records” behavior.

Changes:

  • Renames/inverts the experimental flag to disableSubjectPoolValidation (defaulting validation to ON unless explicitly disabled).
  • Extends validate-subject-pool flow to support an explicit ValidationMode (IDENTIFICATION vs ENROL_PLUS) and adjusts ViewModel logic/tests accordingly.
  • Inserts the pool validation step into Enrol+ (duplicate check) orchestration steps and updates orchestrator tests/cached-step fixtures.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
infra/resources/src/main/res/values/strings.xml Updates the “Continue capture” CTA copy to “Continue”.
infra/resources/src/main/res/values-bn/strings.xml Adjusts Bengali resources around pool validation actions.
infra/config-store/src/main/java/com/simprints/infra/config/store/models/ExperimentalProjectConfiguration.kt Replaces the old “enable” flag with disableSubjectPoolValidation in experimental config.
infra/config-store/src/test/java/com/simprints/infra/config/store/models/ExperimentalProjectConfigurationTest.kt Updates tests for the renamed/inverted pool validation flag.
feature/validate-subject-pool/src/main/java/com/simprints/feature/validatepool/ValidateSubjectPoolFragmentParams.kt Adds ValidationMode to params for mode-specific validation behavior.
feature/validate-subject-pool/src/main/java/com/simprints/feature/validatepool/ValidateSubjectPoolContract.kt Extends contract params factory to accept/pass validation mode (default IDENTIFICATION).
feature/validate-subject-pool/src/main/java/com/simprints/feature/validatepool/screen/ValidateSubjectPoolViewModel.kt Implements mode-aware validation logic and passes mode through sync + re-check flow.
feature/validate-subject-pool/src/main/java/com/simprints/feature/validatepool/screen/ValidateSubjectPoolState.kt Renames mismatch state to AttendantMismatch.
feature/validate-subject-pool/src/main/java/com/simprints/feature/validatepool/screen/ValidateSubjectPoolFragment.kt Threads mode into validation and sync actions; updates state rendering mapping.
feature/validate-subject-pool/src/test/java/com/simprints/feature/validatepool/screen/ValidateSubjectPoolViewModelTest.kt Updates existing tests for mode parameter and adds Enrol+ “no-records” expectations.
feature/orchestrator/src/main/java/com/simprints/feature/orchestrator/usecases/steps/BuildStepsUseCase.kt Enables validation-by-default, allows disabling, and adds validation step before Enrol+ matching.
feature/orchestrator/src/test/java/com/simprints/feature/orchestrator/usecases/steps/BuildStepsUseCaseTest.kt Updates/extends step-order expectations for new validation behavior and disable flag.
feature/orchestrator/src/test/java/com/simprints/feature/orchestrator/cache/OrchestratorCacheIntegrationTest.kt Updates cached step params fixture to include validation mode.

Comment thread infra/resources/src/main/res/values-bn/strings.xml
@luhmirin-s luhmirin-s requested review from a team, BurningAXE, TristramN, alex-vt, alexandr-simprints, meladRaouf and ybourgery and removed request for a team June 4, 2026 07:46
@luhmirin-s luhmirin-s marked this pull request as ready for review June 4, 2026 07:46
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Jun 4, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants