Skip to content

Commit

Permalink
Add packingGroups test to QuestionnaireResponseExtension
Browse files Browse the repository at this point in the history
  • Loading branch information
LZRS committed Jun 19, 2024
1 parent e40f8ea commit f2e0c13
Showing 1 changed file with 83 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@

package org.smartregister.fhircore.engine.util.extension

import org.hl7.fhir.r4.model.IntegerType
import org.hl7.fhir.r4.model.QuestionnaireResponse
import org.hl7.fhir.r4.model.StringType
import org.junit.Assert
import org.junit.Before
import org.junit.Test
Expand Down Expand Up @@ -47,4 +49,85 @@ class QuestionnaireResponseExtensionTest {
val item2 = item1.itemFirstRep
Assert.assertNull(item2.text)
}

@Test
fun testQuestionnaireResponsePackingRepeatedGroups() {
val unPackedRepeatingGroupQuestionnaireResponse =
QuestionnaireResponse().apply {
addItem(
QuestionnaireResponse.QuestionnaireResponseItemComponent(StringType("page-1")).apply {
addItem(
QuestionnaireResponse.QuestionnaireResponseItemComponent(
StringType("repeating-group"),
)
.apply {
addItem(
QuestionnaireResponse.QuestionnaireResponseItemComponent(StringType("bp"))
.apply {
addAnswer(
QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent().apply {
value =
IntegerType(
124,
)
},
)
},
)
},
)

addItem(
QuestionnaireResponse.QuestionnaireResponseItemComponent(
StringType("repeating-group"),
)
.apply {
addItem(
QuestionnaireResponse.QuestionnaireResponseItemComponent(StringType("bp"))
.apply {
addAnswer(
QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent().apply {
value =
IntegerType(
104,
)
},
)
},
)
},
)

addItem(
QuestionnaireResponse.QuestionnaireResponseItemComponent(
StringType("repeating-group"),
)
.apply {
addItem(
QuestionnaireResponse.QuestionnaireResponseItemComponent(StringType("bp"))
.apply {
addAnswer(
QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent().apply {
value =
IntegerType(
138,
)
},
)
},
)
},
)
},
)
}
Assert.assertEquals(3, unPackedRepeatingGroupQuestionnaireResponse.itemFirstRep.item.size)
val packedRepeatingGroupsQuestionnaireResponse =
unPackedRepeatingGroupQuestionnaireResponse.copy().apply { this.packRepeatedGroups() }
Assert.assertEquals(1, packedRepeatingGroupsQuestionnaireResponse.itemFirstRep.item.size)
Assert.assertEquals(
3,
packedRepeatingGroupsQuestionnaireResponse.itemFirstRep.itemFirstRep.answer.size
)
}
}

0 comments on commit f2e0c13

Please sign in to comment.