@@ -8,13 +8,17 @@ import com.nhaarman.mockito_kotlin.verify
88import com.nhaarman.mockito_kotlin.whenever
99import io.reactivex.Single
1010import io.reactivex.subjects.PublishSubject
11+ import junitparams.JUnitParamsRunner
12+ import junitparams.Parameters
1113import org.junit.Before
1214import org.junit.Test
15+ import org.junit.runner.RunWith
1316import org.simple.clinic.bp.BloodPressureRepository
1417import org.simple.clinic.patient.PatientMocker
1518import org.simple.clinic.widgets.UiEvent
1619import java.util.UUID
1720
21+ @RunWith(JUnitParamsRunner ::class )
1822class BloodPressureEntrySheetControllerTest {
1923
2024 private val sheet = mock<BloodPressureEntrySheet >()
@@ -33,6 +37,24 @@ class BloodPressureEntrySheetControllerTest {
3337 .subscribe { uiChange -> uiChange(sheet) }
3438 }
3539
40+ @Test
41+ @Parameters(value = [
42+ " 90|true" ,
43+ " 120|true" ,
44+ " 300|true" ,
45+ " 66|false" ,
46+ " 44|false"
47+ ])
48+ fun `when valid systolic value is entered, move cursor to diastolic field automatically` (sampleSystolicBp : String , shouldMove : Boolean ) {
49+ uiEvents.onNext(BloodPressureEntrySheetCreated (patientUuid))
50+ uiEvents.onNext(BloodPressureSystolicTextChanged (sampleSystolicBp))
51+
52+ when (shouldMove) {
53+ true -> verify(sheet).changeFocusToDiastolic()
54+ false -> verify(sheet, never()).changeFocusToDiastolic()
55+ }
56+ }
57+
3658 @Test
3759 fun `when systolic is less than diastolic, show error` () {
3860 uiEvents.onNext(BloodPressureEntrySheetCreated (patientUuid))
@@ -90,6 +112,7 @@ class BloodPressureEntrySheetControllerTest {
90112
91113 @Test
92114 fun `when systolic or diastolic values change, hide the error message` () {
115+ uiEvents.onNext(BloodPressureEntrySheetCreated (patientUuid))
93116 uiEvents.onNext(BloodPressureSystolicTextChanged (" 12" ))
94117 uiEvents.onNext(BloodPressureSystolicTextChanged (" 120" ))
95118 uiEvents.onNext(BloodPressureSystolicTextChanged (" 130" ))
0 commit comments