@@ -7,6 +7,7 @@ import org.dhis2.form.data.MissingMandatoryResult
7
7
import org.dhis2.form.data.SuccessfulResult
8
8
import org.dhis2.form.model.EventMode
9
9
import org.dhis2.ui.dialogs.bottomsheet.DialogButtonStyle
10
+ import org.dhis2.ui.dialogs.bottomsheet.IssueType
10
11
import org.hisp.dhis.android.core.common.ValidationStrategy
11
12
import org.hisp.dhis.android.core.event.EventStatus
12
13
import org.junit.Assert.assertTrue
@@ -98,6 +99,54 @@ class FormResultDialogProviderTest {
98
99
assertTrue(noErrorsInFormModel.first.mainButton == DialogButtonStyle .CompleteButton )
99
100
}
100
101
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
+
101
150
@Test
102
151
fun `Should follow validation strategy when trying to save the form with errors` () {
103
152
val completedEventWithNoErrors = SuccessfulResult (
0 commit comments