From 8932b4154a9e23ef2cd4a626f1dfa2dc789ec4d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ilkka=20H=C3=A4nninen?= Date: Tue, 2 Jan 2024 12:53:10 +0200 Subject: [PATCH] Testaa organisaatioiden linkitys --- .../RaportointikantaSpec.scala | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/test/scala/fi/oph/koski/raportointikanta/RaportointikantaSpec.scala b/src/test/scala/fi/oph/koski/raportointikanta/RaportointikantaSpec.scala index d825c913ad2..789b322d7d5 100644 --- a/src/test/scala/fi/oph/koski/raportointikanta/RaportointikantaSpec.scala +++ b/src/test/scala/fi/oph/koski/raportointikanta/RaportointikantaSpec.scala @@ -8,7 +8,7 @@ import fi.oph.koski.henkilo.{KoskiSpecificMockOppijat, LaajatOppijaHenkilöTiedo import fi.oph.koski.henkilo.KoskiSpecificMockOppijat.{master, masterEiKoskessa} import fi.oph.koski.json.{JsonFiles, JsonSerializer} import fi.oph.koski.koskiuser.MockUsers -import fi.oph.koski.organisaatio.MockOrganisaatiot +import fi.oph.koski.organisaatio.{MockOrganisaatiot, Organisaatiotyyppi} import fi.oph.koski.schema.KoskiSchema.strictDeserialization import fi.oph.koski.schema._ import fi.oph.koski.util.Wait @@ -187,6 +187,33 @@ class RaportointikantaSpec verifioiYtrOpiskeluoikeudet() } + "Organisaatiot ovat linkitetty oikein" in { + def verifyOrg(parentOid: Option[String], childOid: String) = { + parentOid match { + case Some(oid) => + KoskiApplicationForTests.organisaatioRepository + .getChildOids(oid) + .getOrElse(Set.empty) should contain(childOid) + case None => + throw new AssertionError("parentOid ei voi olla None") + } + } + + mainRaportointiDb.runDbSync(mainRaportointiDb.ROrganisaatiot.result) + .foreach { row: ROrganisaatioRow => + val tyypit = row.organisaatiotyypit.split(',') + if (tyypit.contains(Organisaatiotyyppi.TOIMIPISTE)) { + verifyOrg(row.toimipisteenOppilaitos, row.organisaatioOid) + row.oppilaitoksenKoulutustoimija should equal(None) + } else if (tyypit.contains(Organisaatiotyyppi.OPPILAITOS)) { + row.toimipisteenOppilaitos should equal(None) + verifyOrg(row.oppilaitoksenKoulutustoimija, row.organisaatioOid) + } else { + row.toimipisteenOppilaitos should equal(None) + row.oppilaitoksenKoulutustoimija should equal(None) + } + } + } def verifioiYtrOpiskeluoikeudet() = { val ytrOotRaportointikannassa = mainRaportointiDb.runDbSync(