Skip to content

Added support for HANDHELD, FLATBED, and BOTH scanner types in simulator#84

Merged
venkateshrajmendram merged 2 commits into
mainfrom
feature/VenkateshRajmendram/multi-scanner-simulator
Feb 19, 2026
Merged

Added support for HANDHELD, FLATBED, and BOTH scanner types in simulator#84
venkateshrajmendram merged 2 commits into
mainfrom
feature/VenkateshRajmendram/multi-scanner-simulator

Conversation

@venkateshrajmendram
Copy link
Copy Markdown
Collaborator

@venkateshrajmendram venkateshrajmendram commented Feb 16, 2026

Description of changes:

Added support for multiple simulated scanners (FLATBED, HANDHELD, and BOTH) in simulation mode. Updated simulator configuration and controller to properly route barcode data based on scannerType.

Changes

  • Added separate simulated scanner beans for FLATBED and HANDHELD
  • Updated ScannerConfig to register both devices in simulation mode
  • Updated ScanSimulatorController to route barcode to correct simulator instance
  • Added support for /v1/scan/{scannerType} handling

Description of testing:

  • Verified local startup in simulation mode
  • Verified FLATBED scan works end-to-end
  • Verified HANDHELD scan works end-to-end
  • Verified BOTH scenario returns correct device based on source
  • Verified invalid source handling

Please make sure the following changes have been made before creating a pull request.
Note- The Changes were tested in Swagger as this change pertains to Simulator Scanner API endpoints.
Update Description

  • Change tested on actual device
  • Changes tested for simulator
  • Existing device functionality is working fine
  • Unit Tests Written for Code Changes, and Verified that Coverage is 100% for Modified Files(with the exception of ATM devices)
Description Multi-scanner simulator (FLATBED/HANDHELD/BOTH + simulate endpoints)    
  Manual test cases (local)    
Tests Test Case Desc Result
1 Startup and Swagger visibility ./gradlew run -DuseSimulators=true Pass
2 Swagger groups show simulator endpoints   Pass
3 Swagger “simulate” endpoints are POST only   Pass
  End-to-End Scanner Flow test    
4 Select: FLATBED as  SCANNER in Swagger, trigger scan request: GET /v1/scan/{scannerType} with FLATBED Enter data in simualtor, successfully see the data getting to FLATBED pass
5 Select: HANDHELD as  SCANNER in Swagger, trigger scan request: GET /v1/scan/{scannerType} with HANDHELD Enter data in simualtor, successfully see the data getting to HANDHELD pass
6 Select: BOTH as  SCANNER in Swagger, trigger scan request: GET /v1/scan/{scannerType} with BOTH Enter data in simualtor, successfully see the data getting to FLATBED or HANDHELD pass
Test screenshots for each ScannerType test case in Swagger are as below. image

Comment thread src/main/java/com/target/devicemanager/components/scanner/ScannerConfig.java Outdated
Comment thread src/main/java/com/target/devicemanager/components/scanner/ScannerConfig.java Outdated
Comment thread src/main/java/com/target/devicemanager/components/scanner/ScannerConfig.java Outdated
Comment thread src/main/java/com/target/devicemanager/components/scanner/ScannerConfig.java Outdated
Comment thread src/main/java/com/target/devicemanager/components/scanner/ScannerConfig.java Outdated
@venkateshrajmendram venkateshrajmendram force-pushed the feature/VenkateshRajmendram/multi-scanner-simulator branch from fb35035 to e867bb7 Compare February 16, 2026 23:42
@venkateshrajmendram
Copy link
Copy Markdown
Collaborator Author

Addressed minor formatting and renaming. Please take a look.

@venkateshrajmendram venkateshrajmendram merged commit 35959b6 into main Feb 19, 2026
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