From 8279858a41e2857f69eaf8e208f6d161a86b893f Mon Sep 17 00:00:00 2001 From: cigerhed Date: Tue, 20 Aug 2024 10:28:12 +0200 Subject: [PATCH] INTYGFV-16784: Should not include issuedByStaffId if not set. --- .../ListCertificateQuestionsFromCS.java | 6 +- .../ListCertificateQuestionsFromCSTest.java | 68 +++++++++++++------ 2 files changed, 52 insertions(+), 22 deletions(-) diff --git a/web/src/main/java/se/inera/intyg/webcert/web/csintegration/certificate/ListCertificateQuestionsFromCS.java b/web/src/main/java/se/inera/intyg/webcert/web/csintegration/certificate/ListCertificateQuestionsFromCS.java index 14736413b4..42470dd554 100644 --- a/web/src/main/java/se/inera/intyg/webcert/web/csintegration/certificate/ListCertificateQuestionsFromCS.java +++ b/web/src/main/java/se/inera/intyg/webcert/web/csintegration/certificate/ListCertificateQuestionsFromCS.java @@ -83,7 +83,11 @@ public QueryFragaSvarResponse list(QueryFragaSvarParameter queryFragaSvarParamet private MessageQueryCriteriaDTO convertFilter(QueryFragaSvarParameter queryFragaSvarParameter) { final var userUnits = webCertUserService.getUser().getIdsOfSelectedVardenhet(); return MessageQueryCriteriaDTO.builder() - .issuedByStaffId(queryFragaSvarParameter.getHsaId()) + .issuedByStaffId( + queryFragaSvarParameter.getHsaId() != null && !queryFragaSvarParameter.getHsaId().isEmpty() + ? queryFragaSvarParameter.getHsaId() + : null + ) .forwarded(queryFragaSvarParameter.getVidarebefordrad()) .sentDateFrom(queryFragaSvarParameter.getChangedFrom()) .sentDateTo(queryFragaSvarParameter.getChangedTo()) diff --git a/web/src/test/java/se/inera/intyg/webcert/web/csintegration/certificate/ListCertificateQuestionsFromCSTest.java b/web/src/test/java/se/inera/intyg/webcert/web/csintegration/certificate/ListCertificateQuestionsFromCSTest.java index 55e3505900..460d49df1a 100644 --- a/web/src/test/java/se/inera/intyg/webcert/web/csintegration/certificate/ListCertificateQuestionsFromCSTest.java +++ b/web/src/test/java/se/inera/intyg/webcert/web/csintegration/certificate/ListCertificateQuestionsFromCSTest.java @@ -20,6 +20,7 @@ package se.inera.intyg.webcert.web.csintegration.certificate; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -64,6 +65,7 @@ class ListCertificateQuestionsFromCSTest { private static final ArendeListItem ARENDE_LIST_ITEM = new ArendeListItem(); private static final ArendeListItem ARENDE_LIST_NOT_INCLUDED_IN_STATUS = new ArendeListItem(); private static final GetUnitQuestionsRequestDTO GET_UNIT_QUESTIONS_REQUEST_DTO = GetUnitQuestionsRequestDTO.builder().build(); + private static final String HSA_ID = "hsaId"; private static QueryFragaSvarParameter queryFragaSvarParameter; @InjectMocks @@ -87,7 +89,7 @@ class ListCertificateQuestionsFromCSTest { @BeforeEach void setUp() { queryFragaSvarParameter = buildQueryFragaSvarParameter(false, true, - "SVAR_FRAN_VARDEN"); + "SVAR_FRAN_VARDEN", HSA_ID); } @Test @@ -155,7 +157,7 @@ void setUp() { @Test void shouldConvertSignedById() { - final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, ""); + final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, "", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(MessageQueryCriteriaDTO.class); @@ -165,9 +167,33 @@ void shouldConvertSignedById() { argumentCaptor.getValue().getIssuedByStaffId()); } + @Test + void shouldExcludeSignedByIdIfEmpty() { + final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, "", ""); + listCertificateQuestionsFromCS.list(queryFragaSvarParameter); + final var argumentCaptor = ArgumentCaptor.forClass(MessageQueryCriteriaDTO.class); + + verify(csIntegrationRequestFactory).getUnitQuestionsRequestDTO( + argumentCaptor.capture() + ); + assertNull(argumentCaptor.getValue().getIssuedByStaffId()); + } + + @Test + void shouldExcludeSignedByIdIfNull() { + final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, "", null); + listCertificateQuestionsFromCS.list(queryFragaSvarParameter); + final var argumentCaptor = ArgumentCaptor.forClass(MessageQueryCriteriaDTO.class); + + verify(csIntegrationRequestFactory).getUnitQuestionsRequestDTO( + argumentCaptor.capture() + ); + assertNull(argumentCaptor.getValue().getIssuedByStaffId()); + } + @Test void shouldConvertUnitIdIfSet() { - final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, ""); + final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, "", HSA_ID); queryFragaSvarParameter.setEnhetId("unitId"); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(MessageQueryCriteriaDTO.class); @@ -186,7 +212,7 @@ void shouldSetUnitFromUserServiceIfUnitIdIsNull() { when(webCertUserService.getUser()).thenReturn(user); when(user.getIdsOfSelectedVardenhet()).thenReturn(expected); - final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, ""); + final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, "", HSA_ID); queryFragaSvarParameter.setEnhetId(null); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); @@ -199,7 +225,7 @@ void shouldSetUnitFromUserServiceIfUnitIdIsNull() { @Test void shouldConvertChangedFrom() { - final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, ""); + final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, "", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(MessageQueryCriteriaDTO.class); @@ -211,7 +237,7 @@ void shouldConvertChangedFrom() { @Test void shouldConvertChangedTo() { - final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, ""); + final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, "", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(MessageQueryCriteriaDTO.class); @@ -223,7 +249,7 @@ void shouldConvertChangedTo() { @Test void shouldConvertForwarded() { - final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, ""); + final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, "", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(MessageQueryCriteriaDTO.class); @@ -235,7 +261,7 @@ void shouldConvertForwarded() { @Test void shouldConvertPatientID() { - final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, ""); + final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, "", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(MessageQueryCriteriaDTO.class); @@ -247,7 +273,7 @@ void shouldConvertPatientID() { @Test void shouldSetSenderToShowAllIfBothSendersAreFalse() { - final var queryFragaSvarParameter = buildQueryFragaSvarParameter(false, false, ""); + final var queryFragaSvarParameter = buildQueryFragaSvarParameter(false, false, "", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(MessageQueryCriteriaDTO.class); @@ -258,7 +284,7 @@ void shouldSetSenderToShowAllIfBothSendersAreFalse() { @Test void shouldSetSenderToFKIfFKIsTrue() { - final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, ""); + final var queryFragaSvarParameter = buildQueryFragaSvarParameter(true, false, "", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(MessageQueryCriteriaDTO.class); @@ -269,7 +295,7 @@ void shouldSetSenderToFKIfFKIsTrue() { @Test void shouldSetSenderToWCIfWCIsTrue() { - final var queryFragaSvarParameter = buildQueryFragaSvarParameter(false, true, ""); + final var queryFragaSvarParameter = buildQueryFragaSvarParameter(false, true, "", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(MessageQueryCriteriaDTO.class); @@ -281,7 +307,7 @@ void shouldSetSenderToWCIfWCIsTrue() { @Test void shouldSetQuestionStatusTypeToComplement() { final var queryFragaSvarParameter = buildQueryFragaSvarParameter(false, true, - "KOMPLETTERING_FRAN_VARDEN"); + "KOMPLETTERING_FRAN_VARDEN", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(QuestionStatusType.class); @@ -292,7 +318,7 @@ void shouldSetQuestionStatusTypeToComplement() { @Test void shouldSetQuestionStatusTypeToHandled() { final var queryFragaSvarParameter = buildQueryFragaSvarParameter(false, true, - "HANTERAD"); + "HANTERAD", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(QuestionStatusType.class); @@ -303,7 +329,7 @@ void shouldSetQuestionStatusTypeToHandled() { @Test void shouldSetQuestionStatusTypeToNotHandled() { final var queryFragaSvarParameter = buildQueryFragaSvarParameter(false, true, - "ALLA_OHANTERADE"); + "ALLA_OHANTERADE", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(QuestionStatusType.class); @@ -314,7 +340,7 @@ void shouldSetQuestionStatusTypeToNotHandled() { @Test void shouldSetQuestionStatusTypeToAnswer() { final var queryFragaSvarParameter = buildQueryFragaSvarParameter(false, true, - "SVAR_FRAN_VARDEN"); + "SVAR_FRAN_VARDEN", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(QuestionStatusType.class); @@ -325,7 +351,7 @@ void shouldSetQuestionStatusTypeToAnswer() { @Test void shouldSetQuestionStatusTypeToReadAnswer() { final var queryFragaSvarParameter = buildQueryFragaSvarParameter(false, true, - "MARKERA_SOM_HANTERAD"); + "MARKERA_SOM_HANTERAD", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(QuestionStatusType.class); @@ -336,7 +362,7 @@ void shouldSetQuestionStatusTypeToReadAnswer() { @Test void shouldSetQuestionStatusTypeToWait() { final var queryFragaSvarParameter = buildQueryFragaSvarParameter(false, true, - "SVAR_FRAN_FK"); + "SVAR_FRAN_FK", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(QuestionStatusType.class); @@ -347,7 +373,7 @@ void shouldSetQuestionStatusTypeToWait() { @Test void shouldSetQuestionStatusTypeToShowAll() { final var queryFragaSvarParameter = buildQueryFragaSvarParameter(false, true, - "ALLA"); + "ALLA", HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(QuestionStatusType.class); @@ -357,7 +383,7 @@ void shouldSetQuestionStatusTypeToShowAll() { @Test void shouldSetQuestionStatusTypeToShowAllIfNull() { - final var queryFragaSvarParameter = buildQueryFragaSvarParameter(false, true, null); + final var queryFragaSvarParameter = buildQueryFragaSvarParameter(false, true, null, HSA_ID); listCertificateQuestionsFromCS.list(queryFragaSvarParameter); final var argumentCaptor = ArgumentCaptor.forClass(QuestionStatusType.class); @@ -368,12 +394,12 @@ void shouldSetQuestionStatusTypeToShowAllIfNull() { } private QueryFragaSvarParameter buildQueryFragaSvarParameter(Boolean fromFK, Boolean fromWC, - String vantarPa) { + String vantarPa, String hsaId) { return QueryFragaSvarParameter.builder() .questionFromWC(fromWC) .questionFromFK(fromFK) .vantarPa(vantarPa) - .hsaId("hsaId") + .hsaId(hsaId) .enhetId(null) .changedFrom(LocalDateTime.now()) .changedTo(LocalDateTime.now())