Skip to content

Commit 3451586

Browse files
committed
fix: [ANDROAPP-6667] add tests
Signed-off-by: Manu Muñoz <[email protected]>
1 parent ca60a04 commit 3451586

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

form/src/test/java/org/dhis2/form/ui/provider/FormResultDialogProviderTest.kt

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import org.dhis2.form.data.MissingMandatoryResult
77
import org.dhis2.form.data.SuccessfulResult
88
import org.dhis2.form.model.EventMode
99
import org.dhis2.ui.dialogs.bottomsheet.DialogButtonStyle
10+
import org.dhis2.ui.dialogs.bottomsheet.IssueType
1011
import org.hisp.dhis.android.core.common.ValidationStrategy
1112
import org.hisp.dhis.android.core.event.EventStatus
1213
import org.junit.Assert.assertTrue
@@ -98,6 +99,54 @@ class FormResultDialogProviderTest {
9899
assertTrue(noErrorsInFormModel.first.mainButton == DialogButtonStyle.CompleteButton)
99100
}
100101

102+
@Test
103+
fun `Should configure to show warning on complete message`() {
104+
val completedEventWithNoErrors = SuccessfulResult(
105+
canComplete = true,
106+
onCompleteMessage = "Warning on complete",
107+
eventResultDetails = EventResultDetails(
108+
eventStatus = EventStatus.ACTIVE,
109+
eventMode = EventMode.CHECK,
110+
validationStrategy = ValidationStrategy.ON_COMPLETE,
111+
),
112+
)
113+
val noErrorsInFormModel = formResultDialogProvider.invoke(
114+
canComplete = completedEventWithNoErrors.canComplete,
115+
onCompleteMessage = completedEventWithNoErrors.onCompleteMessage,
116+
errorFields = emptyList(),
117+
emptyMandatoryFields = emptyMap(),
118+
warningFields = emptyList(),
119+
eventMode = completedEventWithNoErrors.eventResultDetails.eventMode ?: EventMode.NEW,
120+
eventState = completedEventWithNoErrors.eventResultDetails.eventStatus ?: EventStatus.ACTIVE,
121+
result = completedEventWithNoErrors,
122+
)
123+
assertTrue(noErrorsInFormModel.second.first().issueType == IssueType.WARNING_ON_COMPLETE)
124+
}
125+
126+
@Test
127+
fun `Should configure to show error on complete message`() {
128+
val completedEventWithNoErrors = SuccessfulResult(
129+
canComplete = false,
130+
onCompleteMessage = "error on complete",
131+
eventResultDetails = EventResultDetails(
132+
eventStatus = EventStatus.ACTIVE,
133+
eventMode = EventMode.NEW,
134+
validationStrategy = ValidationStrategy.ON_COMPLETE,
135+
),
136+
)
137+
val noErrorsInFormModel = formResultDialogProvider.invoke(
138+
canComplete = completedEventWithNoErrors.canComplete,
139+
onCompleteMessage = completedEventWithNoErrors.onCompleteMessage,
140+
errorFields = emptyList(),
141+
emptyMandatoryFields = emptyMap(),
142+
warningFields = emptyList(),
143+
eventMode = completedEventWithNoErrors.eventResultDetails.eventMode ?: EventMode.NEW,
144+
eventState = completedEventWithNoErrors.eventResultDetails.eventStatus ?: EventStatus.ACTIVE,
145+
result = completedEventWithNoErrors,
146+
)
147+
assertTrue(noErrorsInFormModel.second.first().issueType == IssueType.ERROR_ON_COMPLETE)
148+
}
149+
101150
@Test
102151
fun `Should follow validation strategy when trying to save the form with errors`() {
103152
val completedEventWithNoErrors = SuccessfulResult(

0 commit comments

Comments
 (0)