guided scan zone
This commit is contained in:
@@ -50,7 +50,7 @@ class ScannerViewModelTest {
|
||||
viewModel.onScan(result)
|
||||
viewModel.resumeScanning()
|
||||
|
||||
now = 2_000L
|
||||
now = 4_000L
|
||||
viewModel.onScan(result)
|
||||
advanceUntilIdle()
|
||||
|
||||
@@ -75,7 +75,7 @@ class ScannerViewModelTest {
|
||||
now = 2_000L
|
||||
viewModel.onScan(ScanResult(content = "B", type = "Text"))
|
||||
|
||||
now = 3_000L
|
||||
now = 3_600L
|
||||
viewModel.onScan(ScanResult(content = "A", type = "Text"))
|
||||
advanceUntilIdle()
|
||||
|
||||
@@ -92,4 +92,27 @@ class ScannerViewModelTest {
|
||||
assertTrue(viewModel.uiState.value.batchResults.isEmpty())
|
||||
assertEquals(3, saved.size)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun sameCodeWithinHoldoff_isIgnored() = runTest {
|
||||
val saved = mutableListOf<Pair<String, String>>()
|
||||
var now = 1_000L
|
||||
val viewModel = ScannerViewModel(
|
||||
saveScan = { content, type -> saved += content to type },
|
||||
nowProvider = { now }
|
||||
)
|
||||
|
||||
val result = ScanResult(content = "HOLD", type = "Text")
|
||||
viewModel.setBatchMode(true)
|
||||
viewModel.onScan(result)
|
||||
|
||||
now = 2_000L
|
||||
viewModel.onScan(result)
|
||||
advanceUntilIdle()
|
||||
|
||||
val state = viewModel.uiState.value
|
||||
assertEquals(1, state.scanFeedbackNonce)
|
||||
assertEquals(1, saved.size)
|
||||
assertEquals(1, state.batchResults.size)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user