Skip to content

Commit

Permalink
Remove subjectType since subjectReference is used
Browse files Browse the repository at this point in the history
  • Loading branch information
FikriMilano committed Sep 13, 2024
1 parent dd42646 commit 1bea440
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ data class PdfConfig(
val pdfTitleSuffix: String? = null,
val pdfStructureReference: String? = null,
val subjectReference: String? = null,
val subjectType: ResourceType? = null,
val questionnaireReferences: List<String> = emptyList()
) : java.io.Serializable, Parcelable {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,7 @@ class PdfLauncherFragment : DialogFragment() {
val pdfStructureId = pdfConfig.pdfStructureReference!!.extractLogicalIdUuid()
val pdfTitle = StringBuilder().append(pdfConfig.pdfTitle ?: getString(R.string.default_html_title))
val pdfTitleSuffix = pdfConfig.pdfTitleSuffix
val subjectReference = pdfConfig.subjectReference!!.extractLogicalIdUuid()
val subjectType = pdfConfig.subjectType!!
val subjectReference = pdfConfig.subjectReference!!
val questionnaireIds = pdfConfig.questionnaireReferences.map { it.extractLogicalIdUuid() } ?: emptyList()

lifecycleScope.launch(Dispatchers.IO) {
Expand All @@ -67,7 +66,6 @@ class PdfLauncherFragment : DialogFragment() {
pdfLauncherViewModel.retrieveQuestionnaireResponse(
questionnaireId,
subjectReference,
subjectType,
)
}
val htmlBinary = pdfLauncherViewModel.retrieveBinary(pdfStructureId)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,35 +44,31 @@ constructor(
* Retrieve the [QuestionnaireResponse] for the given questionnaire and subject.
*
* @param questionnaireId The ID of the questionnaire.
* @param subjectId The ID of the subject.
* @param subjectType The type of the subject (resource type).
* @param subjectReference The ID of the subject.
* @return The [QuestionnaireResponse] if found, otherwise null.
*/
suspend fun retrieveQuestionnaireResponse(
questionnaireId: String,
subjectId: String,
subjectType: ResourceType,
subjectReference: String,
): QuestionnaireResponse? {
val searchQuery =
createQuestionnaireResponseSearchQuery(questionnaireId, subjectId, subjectType)
createQuestionnaireResponseSearchQuery(questionnaireId, subjectReference)
return defaultRepository.search<QuestionnaireResponse>(searchQuery).firstOrNull()
}

/**
* Create a search query for [QuestionnaireResponse].
*
* @param questionnaireId The ID of the questionnaire.
* @param subjectId The ID of the subject.
* @param subjectType The type of the subject (resource type).
* @param subjectReference The ID of the subject.
* @return The search query for [QuestionnaireResponse].
*/
private fun createQuestionnaireResponseSearchQuery(
questionnaireId: String,
subjectId: String,
subjectType: ResourceType,
subjectReference: String,
): Search {
return Search(ResourceType.QuestionnaireResponse).apply {
filter(QuestionnaireResponse.SUBJECT, { value = "$subjectType/$subjectId" })
filter(QuestionnaireResponse.SUBJECT, { value = subjectReference })
filter(
QuestionnaireResponse.QUESTIONNAIRE,
{ value = "${ResourceType.Questionnaire}/$questionnaireId" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class PdfLauncherFragmentTest : RobolectricTest() {
val questionnaireResponse = QuestionnaireResponse().apply { questionnaire = "Questionnaire/id" }
val htmlBinary = Binary().apply { content = "mock content".toByteArray() }

coEvery { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any(), any()) } returns
coEvery { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any()) } returns
questionnaireResponse
coEvery { pdfLauncherViewModel.retrieveBinary(any()) } returns htmlBinary

Expand All @@ -66,7 +66,6 @@ class PdfLauncherFragmentTest : RobolectricTest() {
pdfTitleSuffix = "suffix",
pdfStructureReference = "Binary/id",
subjectReference = "Patient/id",
subjectType = ResourceType.Patient,
questionnaireReferences = listOf("QuestionnaireResponse/id")
)
.encodeJson()
Expand All @@ -86,7 +85,7 @@ class PdfLauncherFragmentTest : RobolectricTest() {

activity.supportFragmentManager.beginTransaction().add(fragment, null).commitNow()

coVerify { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any(), any()) }
coVerify { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any()) }
coVerify { pdfLauncherViewModel.retrieveBinary(any()) }
verify { pdfGenerator.generatePdfWithHtml(any(), any(), any()) }
}
Expand All @@ -96,7 +95,7 @@ class PdfLauncherFragmentTest : RobolectricTest() {
val questionnaireResponse: QuestionnaireResponse? = null
val htmlBinary = Binary().apply { content = "mock content".toByteArray() }

coEvery { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any(), any()) } returns
coEvery { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any()) } returns
questionnaireResponse
coEvery { pdfLauncherViewModel.retrieveBinary(any()) } returns htmlBinary

Expand All @@ -106,7 +105,6 @@ class PdfLauncherFragmentTest : RobolectricTest() {
pdfTitleSuffix = "suffix",
pdfStructureReference = "Binary/id",
subjectReference = "Patient/id",
subjectType = ResourceType.Patient,
questionnaireReferences = listOf("QuestionnaireResponse/id")
)
.encodeJson()
Expand All @@ -126,7 +124,7 @@ class PdfLauncherFragmentTest : RobolectricTest() {

activity.supportFragmentManager.beginTransaction().add(fragment, null).commitNow()

coVerify { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any(), any()) }
coVerify { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any()) }
coVerify { pdfLauncherViewModel.retrieveBinary(any()) }
verify(inverse = true) { pdfGenerator.generatePdfWithHtml(any(), any(), any()) }
}
Expand All @@ -136,7 +134,7 @@ class PdfLauncherFragmentTest : RobolectricTest() {
val questionnaireResponse = QuestionnaireResponse()
val htmlBinary: Binary? = null

coEvery { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any(), any()) } returns
coEvery { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any()) } returns
questionnaireResponse
coEvery { pdfLauncherViewModel.retrieveBinary(any()) } returns htmlBinary

Expand All @@ -146,7 +144,6 @@ class PdfLauncherFragmentTest : RobolectricTest() {
pdfTitleSuffix = "suffix",
pdfStructureReference = "Binary/id",
subjectReference = "Patient/id",
subjectType = ResourceType.Patient,
questionnaireReferences = listOf("QuestionnaireResponse/id")
)
.encodeJson()
Expand All @@ -166,7 +163,7 @@ class PdfLauncherFragmentTest : RobolectricTest() {

activity.supportFragmentManager.beginTransaction().add(fragment, null).commitNow()

coVerify { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any(), any()) }
coVerify { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any()) }
coVerify { pdfLauncherViewModel.retrieveBinary(any()) }
verify(inverse = true) { pdfGenerator.generatePdfWithHtml(any(), any(), any()) }
}
Expand All @@ -176,7 +173,7 @@ class PdfLauncherFragmentTest : RobolectricTest() {
val questionnaireResponse: QuestionnaireResponse? = null
val htmlBinary: Binary? = null

coEvery { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any(), any()) } returns
coEvery { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any()) } returns
questionnaireResponse
coEvery { pdfLauncherViewModel.retrieveBinary(any()) } returns htmlBinary

Expand All @@ -186,7 +183,6 @@ class PdfLauncherFragmentTest : RobolectricTest() {
pdfTitleSuffix = "suffix",
pdfStructureReference = "Binary/id",
subjectReference = "Patient/id",
subjectType = ResourceType.Patient,
questionnaireReferences = listOf("QuestionnaireResponse/id")
)
.encodeJson()
Expand All @@ -206,7 +202,7 @@ class PdfLauncherFragmentTest : RobolectricTest() {

activity.supportFragmentManager.beginTransaction().add(fragment, null).commitNow()

coVerify { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any(), any()) }
coVerify { pdfLauncherViewModel.retrieveQuestionnaireResponse(any(), any()) }
coVerify { pdfLauncherViewModel.retrieveBinary(any()) }
verify(inverse = true) { pdfGenerator.generatePdfWithHtml(any(), any(), any()) }
}
Expand Down

0 comments on commit 1bea440

Please sign in to comment.