diff --git a/src/main/kotlin/no/nav/syfo/validation/ValidateDialogMeldingKodeverk.kt b/src/main/kotlin/no/nav/syfo/validation/ValidateDialogMeldingKodeverk.kt index adea4d9..7a6a74b 100644 --- a/src/main/kotlin/no/nav/syfo/validation/ValidateDialogMeldingKodeverk.kt +++ b/src/main/kotlin/no/nav/syfo/validation/ValidateDialogMeldingKodeverk.kt @@ -25,6 +25,7 @@ fun isKodeverkValid(msgId: String, xmlDialogmelding: XMLDialogmelding, dialogmel val foresporselKodeverk = xmlDialogmelding.notat.first().foresporsel?.typeForesp?.s if (foresporselKodeverk == DialogmeldingKodeverk.INNKALLING_DIALOGMOTE_KODEVERK.kodeverkOID) { logger.warn("Invalid kodeverk: Received foresporselsvar for foresporsel with dialogmotekodeverk: $msgId") + return false } val gyldigeDialogmeldingKodeverk = DialogmeldingType.DIALOGMELDING_FORESPORSEL_FRA_SAKSBEHANDLER_FORESPORSEL_SVAR.dialogmeldingKodeverk return gyldigeDialogmeldingKodeverk.contains(xmlDialogmeldingKodeverk) diff --git a/src/test/kotlin/no/nav/syfo/CreateArenaDialogNotatTest.kt b/src/test/kotlin/no/nav/syfo/CreateArenaDialogNotatTest.kt index 2ccf669..be1be2b 100644 --- a/src/test/kotlin/no/nav/syfo/CreateArenaDialogNotatTest.kt +++ b/src/test/kotlin/no/nav/syfo/CreateArenaDialogNotatTest.kt @@ -135,11 +135,11 @@ internal class CreateArenaDialogNotatTest { arenaDialogNotat.eiaDokumentInfo.dokumentInfo.dokumentDato.year shouldBeEqualTo 2020 arenaDialogNotat.eiaDokumentInfo.dokumentInfo.dokumentDato.monthValue shouldBeEqualTo 9 arenaDialogNotat.eiaDokumentInfo.dokumentInfo.dokumentDato.dayOfMonth shouldBeEqualTo 21 - arenaDialogNotat.eiaDokumentInfo.avsender.lege.legeFnr shouldBeEqualTo "12312414234" + arenaDialogNotat.eiaDokumentInfo.avsender.lege.legeFnr shouldBeEqualTo "01010112377" arenaDialogNotat.eiaDokumentInfo.avsender.lege.tssId.shouldBeEqualTo(tssid.toBigInteger()) arenaDialogNotat.eiaDokumentInfo.avsender.lege.legeNavn.fornavn shouldBeEqualTo "Inga" arenaDialogNotat.eiaDokumentInfo.avsender.lege.legeNavn.etternavn shouldBeEqualTo "Valda" - arenaDialogNotat.pasientData.person.personFnr shouldBeEqualTo "3143242342" + arenaDialogNotat.pasientData.person.personFnr shouldBeEqualTo "01010142365" arenaDialogNotat.pasientData.person.personNavn.fornavn shouldBeEqualTo "Etternavn" arenaDialogNotat.pasientData.person.personNavn.mellomnavn shouldBeEqualTo "" arenaDialogNotat.pasientData.person.personNavn.etternavn shouldBeEqualTo "Test" diff --git a/src/test/kotlin/no/nav/syfo/dialogmelding/BlockingApplicationRunnerSpek.kt b/src/test/kotlin/no/nav/syfo/dialogmelding/BlockingApplicationRunnerSpek.kt index a4dd126..ebc46c8 100644 --- a/src/test/kotlin/no/nav/syfo/dialogmelding/BlockingApplicationRunnerSpek.kt +++ b/src/test/kotlin/no/nav/syfo/dialogmelding/BlockingApplicationRunnerSpek.kt @@ -106,6 +106,30 @@ class BlockingApplicationRunnerSpek : Spek({ verify(exactly = 0) { mqSender.sendArena(any()) } verify(exactly = 0) { dialogmeldingProducer.sendDialogmelding(any(), any(), any(), any()) } } + it("Prosesserer innkommet dialogmotesvar (ok)") { + val fellesformat = + getFileAsString("src/test/resources/dialogmelding_dialog_svar_innkalling_dialogmote.xml") + every { incomingMessage.text } returns(fellesformat) + runBlocking { + blockingApplicationRunner.processMessage(incomingMessage) + } + verify(exactly = 1) { mqSender.sendReceipt(any()) } + verify(exactly = 0) { mqSender.sendBackout(any()) } + verify(exactly = 0) { mqSender.sendArena(any()) } + verify(exactly = 1) { dialogmeldingProducer.sendDialogmelding(any(), any(), any(), any()) } + } + it("Prosesserer innkommet dialogmotesvar (ugyldig kodeverk)") { + val fellesformat = + getFileAsString("src/test/resources/dialogmelding_dialog_svar_innkalling_dialogmote_invalid.xml") + every { incomingMessage.text } returns(fellesformat) + runBlocking { + blockingApplicationRunner.processMessage(incomingMessage) + } + verify(exactly = 1) { mqSender.sendReceipt(any()) } + verify(exactly = 0) { mqSender.sendBackout(any()) } + verify(exactly = 0) { mqSender.sendArena(any()) } + verify(exactly = 0) { dialogmeldingProducer.sendDialogmelding(any(), any(), any(), any()) } + } it("Prosesserer innkommet test-melding fra syfomock (melding ok)") { val fellesformat = getFileAsString("src/test/resources/dialogmelding_dialog_notat.xml") diff --git a/src/test/resources/dialogmelding_dialog_svar_innkalling_dialogmote.xml b/src/test/resources/dialogmelding_dialog_svar_innkalling_dialogmote.xml index c4a3999..9480751 100644 --- a/src/test/resources/dialogmelding_dialog_svar_innkalling_dialogmote.xml +++ b/src/test/resources/dialogmelding_dialog_svar_innkalling_dialogmote.xml @@ -79,23 +79,16 @@ 1991-12-4 - 3143242342 + 01010142365
- + Sannergata 2 0655 OSLO +
- - - - - - - - @@ -136,5 +129,5 @@ + avsender="123123" avsenderFnrFraDigSignatur="01010112377" avsenderRef="SERIALNUMBER=984106610, CN=Allmennmedisinsk Senter DA, O=AMS ALLMENNMEDISINSK SENTER DA, C=NO" ebAction="MoteRespons" ebRole="Sykmelder" ebService="DialogmoteInnkalling" ebXMLSamtaleId="20200917-011356-538" ediLoggId="1901162204amsa22108.1" herIdentifikator="" meldingsType="xml" mottattDatotid="2020-09-21T21:14:27" partnerReferanse="14629"/> diff --git a/src/test/resources/dialogmelding_dialog_svar_innkalling_dialogmote_invalid.xml b/src/test/resources/dialogmelding_dialog_svar_innkalling_dialogmote_invalid.xml new file mode 100644 index 0000000..d9fa2c4 --- /dev/null +++ b/src/test/resources/dialogmelding_dialog_svar_innkalling_dialogmote_invalid.xml @@ -0,0 +1,133 @@ + + + + + + v1.2 2006-05-24 + 2020-09-21T21:11:55+08:00 + 9be88bc5-4219-473e-954b-c0dd115ff4e0 + + + d97c669d-484b-42ef-b4e9-79d0f290a71f + d97c669d-484b-42ef-b4e9-79d0f290a71f + + + + Kule helsetjenester AS + + 0123 + + + + 223456789 + + +
+ + Oppdiktet gate 203 + 1234 + Oslo +
+ + + + + + + + + + Valda + Fos + Inga + + 1234567 + + + + 1234 + + + +
+
+ + + NAV + + 79768 + + + + 889640782 + + + + NAV Oslo + + 0000 + + + + + + + Test + Etternavn + 1991-12-4 + + + 01010142365 + + +
+ + Sannergata 2 + 0655 + OSLO + +
+
+
+ + + + + + + + + Ta gjerne kontakt ang hvilket telefonnummer jeg skal ringe. Mvh Inga F. Valda. + OD2009169905747 + 2020-09-21 + + + + Endret møtetidspunkt for dialogmøteGjelder Test Etternavn.NAV har tidligere innkalt til et dialogmøte angående din pasient. Møtet skulle vært + avholdt 03.09.2020 klokken 14:00.Dette møtet må flyttes, og vi foreslår nytt møtetidspunkt 22.09.2020 klokken 12:00.Møtested: SvingenHvis tidspunktet ikke + passer ber vi om en rask tilbakemelding.Vi gjør oppmerksom på at det er obligatorisk å delta i dialogmøter med NAV med mindre det er gyldig grunn for + fravær.Fastlege deltar pr telefon. Med hilsenNAVJon PersonAktuelle lover: Både folketrygdloven og arbeidsmiljøloven har bestemmelser om + sykefraværsoppfølging:Folketrygdloven § 8-4 og § 8-7Arbeidsmiljøloven § 4-6InformasjonØnsker du mer informasjon om regler og ordninger for oppfølging av + sykmeldte?www.nav.no og www.arbeidstilsynet.no Lokalt NAV-kontor + + OD2009169905747 + + + + Jon + Person + + + + + + + + +
+ +