From dd24a10f2e1bae6c69d8208ecab53653c2c0f8e6 Mon Sep 17 00:00:00 2001 From: Heidi Lammi-Mihaljov Date: Wed, 8 Jan 2025 09:25:22 +0200 Subject: [PATCH] =?UTF-8?q?OK-754:=20Eriytet=C3=A4=C3=A4n=20organisaatioOi?= =?UTF-8?q?d=20ja=20kth-tiedot=20toisistaan=20excelin=20muodostuksen=20hel?= =?UTF-8?q?pottamiseksi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... => KoulutusToteutusHakukohdeResult.scala} | 15 +- .../ovara/backend/domain/Organisaatio.scala | 2 +- .../ovara/backend/repository/Extractors.scala | 11 +- ...ksetToteutuksetHakukohteetRepository.scala | 8 +- .../oph/ovara/backend/utils/ExcelWriter.scala | 10 +- .../backend/utils/OrganisaatioUtils.scala | 4 +- .../ovara/backend/utils/ExcelWriterSpec.scala | 498 ++++++++++-------- .../backend/utils/OrganisaatioUtilsSpec.scala | 234 ++++---- 8 files changed, 438 insertions(+), 344 deletions(-) rename ovara-backend/src/main/scala/fi/oph/ovara/backend/domain/{KoulutuksetToteutuksetHakukohteetResult.scala => KoulutusToteutusHakukohdeResult.scala} (65%) diff --git a/ovara-backend/src/main/scala/fi/oph/ovara/backend/domain/KoulutuksetToteutuksetHakukohteetResult.scala b/ovara-backend/src/main/scala/fi/oph/ovara/backend/domain/KoulutusToteutusHakukohdeResult.scala similarity index 65% rename from ovara-backend/src/main/scala/fi/oph/ovara/backend/domain/KoulutuksetToteutuksetHakukohteetResult.scala rename to ovara-backend/src/main/scala/fi/oph/ovara/backend/domain/KoulutusToteutusHakukohdeResult.scala index aae5515..fb64276 100644 --- a/ovara-backend/src/main/scala/fi/oph/ovara/backend/domain/KoulutuksetToteutuksetHakukohteetResult.scala +++ b/ovara-backend/src/main/scala/fi/oph/ovara/backend/domain/KoulutusToteutusHakukohdeResult.scala @@ -1,6 +1,6 @@ package fi.oph.ovara.backend.domain -sealed trait KoulutuksetToteutuksetHakukohteet { +sealed trait KoulutusToteutusHakukohde { val hakukohdeNimi: Kielistetty val hakukohdeOid: String val koulutuksenTila: Option[String] @@ -12,7 +12,7 @@ sealed trait KoulutuksetToteutuksetHakukohteet { val jarjestaaUrheilijanAmmKoulutusta: Option[Boolean] } -case class KoulutuksetToteutuksetHakukohteetResult( +case class KoulutusToteutusHakukohdeResult( hakukohdeNimi: Kielistetty, hakukohdeOid: String, koulutuksenTila: Option[String] = None, @@ -21,11 +21,10 @@ case class KoulutuksetToteutuksetHakukohteetResult( aloituspaikat: Option[Int] = None, onValintakoe: Option[Boolean] = None, voiSuorittaaKaksoistutkinnon: Option[Boolean] = None, - jarjestaaUrheilijanAmmKoulutusta: Option[Boolean] = None, - organisaatio_oid: Option[String], -) extends KoulutuksetToteutuksetHakukohteet + jarjestaaUrheilijanAmmKoulutusta: Option[Boolean] = None +) extends KoulutusToteutusHakukohde -case class OrganisaationKoulutuksetToteutuksetHakukohteet( - organisaatio: Option[Organisaatio], - koulutuksetToteutuksetHakukohteet: Vector[KoulutuksetToteutuksetHakukohteetResult] +case class OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid: Option[String], + koulutusToteutusHakukohde: KoulutusToteutusHakukohdeResult ) diff --git a/ovara-backend/src/main/scala/fi/oph/ovara/backend/domain/Organisaatio.scala b/ovara-backend/src/main/scala/fi/oph/ovara/backend/domain/Organisaatio.scala index 9a54df9..d0f476f 100644 --- a/ovara-backend/src/main/scala/fi/oph/ovara/backend/domain/Organisaatio.scala +++ b/ovara-backend/src/main/scala/fi/oph/ovara/backend/domain/Organisaatio.scala @@ -24,5 +24,5 @@ case class OrganisaatioHierarkiaWithHakukohteet( organisaatiotyypit: List[String], parent_oids: List[String], children: List[OrganisaatioHierarkiaWithHakukohteet] = List(), - hakukohteet: List[KoulutuksetToteutuksetHakukohteetResult] + hakukohteet: List[OrganisaationKoulutusToteutusHakukohde] ) diff --git a/ovara-backend/src/main/scala/fi/oph/ovara/backend/repository/Extractors.scala b/ovara-backend/src/main/scala/fi/oph/ovara/backend/repository/Extractors.scala index 73283e0..03a11a3 100644 --- a/ovara-backend/src/main/scala/fi/oph/ovara/backend/repository/Extractors.scala +++ b/ovara-backend/src/main/scala/fi/oph/ovara/backend/repository/Extractors.scala @@ -54,9 +54,9 @@ trait Extractors extends GenericOvaraJsonFormats { ) }) - implicit val getKoulutuksetToteutuksetHakukohteetResult: GetResult[KoulutuksetToteutuksetHakukohteetResult] = { + implicit val getKoulutuksetToteutuksetHakukohteetResult: GetResult[OrganisaationKoulutusToteutusHakukohde] = { GetResult(r => - KoulutuksetToteutuksetHakukohteetResult( + val kth = KoulutusToteutusHakukohdeResult( hakukohdeNimi = extractKielistetty(r.nextStringOption()), hakukohdeOid = r.nextString(), koulutuksenTila = r.nextStringOption(), @@ -66,7 +66,12 @@ trait Extractors extends GenericOvaraJsonFormats { onValintakoe = r.nextBooleanOption(), voiSuorittaaKaksoistutkinnon = r.nextBooleanOption(), jarjestaaUrheilijanAmmKoulutusta = r.nextBooleanOption(), - organisaatio_oid = r.nextStringOption(), + ) + val organisaatio_oid = r.nextStringOption() + + OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = organisaatio_oid, + koulutusToteutusHakukohde = kth ) ) } diff --git a/ovara-backend/src/main/scala/fi/oph/ovara/backend/repository/KoulutuksetToteutuksetHakukohteetRepository.scala b/ovara-backend/src/main/scala/fi/oph/ovara/backend/repository/KoulutuksetToteutuksetHakukohteetRepository.scala index bee45e1..a4ec550 100644 --- a/ovara-backend/src/main/scala/fi/oph/ovara/backend/repository/KoulutuksetToteutuksetHakukohteetRepository.scala +++ b/ovara-backend/src/main/scala/fi/oph/ovara/backend/repository/KoulutuksetToteutuksetHakukohteetRepository.scala @@ -1,6 +1,6 @@ package fi.oph.ovara.backend.repository -import fi.oph.ovara.backend.domain.KoulutuksetToteutuksetHakukohteetResult +import fi.oph.ovara.backend.domain.{KoulutusToteutusHakukohdeResult, OrganisaationKoulutusToteutusHakukohde} import fi.oph.ovara.backend.utils.RepositoryUtils import org.springframework.stereotype.Component import slick.jdbc.PostgresProfile.api.* @@ -17,8 +17,8 @@ class KoulutuksetToteutuksetHakukohteetRepository extends Extractors { hakukohteenTila: Option[String], valintakoe: Option[Boolean] ): SqlStreamingAction[Vector[ - KoulutuksetToteutuksetHakukohteetResult - ], KoulutuksetToteutuksetHakukohteetResult, Effect] = { + OrganisaationKoulutusToteutusHakukohde + ], OrganisaationKoulutusToteutusHakukohde, Effect] = { val alkamiskaudetAndHenkKohtSuunnitelma = RepositoryUtils.extractAlkamisvuosiKausiAndHenkkohtSuunnitelma(alkamiskausi) val alkamiskaudet = alkamiskaudetAndHenkKohtSuunnitelma._1 @@ -50,6 +50,6 @@ class KoulutuksetToteutuksetHakukohteetRepository extends Extractors { #${RepositoryUtils.makeEqualsQueryStrOfOptional("AND", "t.tila", toteutuksenTila)} #${RepositoryUtils.makeEqualsQueryStrOfOptional("AND", "hk.tila", hakukohteenTila)} #${RepositoryUtils.makeEqualsQueryStrOfOptionalBoolean("AND", "hk.on_valintakoe", valintakoe)} - """.as[KoulutuksetToteutuksetHakukohteetResult] + """.as[OrganisaationKoulutusToteutusHakukohde] } } diff --git a/ovara-backend/src/main/scala/fi/oph/ovara/backend/utils/ExcelWriter.scala b/ovara-backend/src/main/scala/fi/oph/ovara/backend/utils/ExcelWriter.scala index 16c688d..6a98283 100644 --- a/ovara-backend/src/main/scala/fi/oph/ovara/backend/utils/ExcelWriter.scala +++ b/ovara-backend/src/main/scala/fi/oph/ovara/backend/utils/ExcelWriter.scala @@ -11,15 +11,15 @@ object ExcelWriter { val LOG: Logger = LoggerFactory.getLogger("ExcelWriter") def countAloituspaikat( - organisaationKoulutuksetToteutuksetHakukohteet: List[KoulutuksetToteutuksetHakukohteetResult] + organisaationKoulutuksetToteutuksetHakukohteet: List[OrganisaationKoulutusToteutusHakukohde] ): Int = { val koulutuksetToteutuksetHakukohteet = organisaationKoulutuksetToteutuksetHakukohteet - koulutuksetToteutuksetHakukohteet.flatMap(kth => kth.aloituspaikat).sum + koulutuksetToteutuksetHakukohteet.flatMap(kth => kth.koulutusToteutusHakukohde.aloituspaikat).sum } def flattenHierarkiaHakukohteet( organisaatioHierarkiaWithHakukohteet: OrganisaatioHierarkiaWithHakukohteet - ): List[KoulutuksetToteutuksetHakukohteetResult] = { + ): List[OrganisaationKoulutusToteutusHakukohde] = { if (organisaatioHierarkiaWithHakukohteet.children.isEmpty) { organisaatioHierarkiaWithHakukohteet.hakukohteet } else { @@ -82,7 +82,7 @@ object ExcelWriter { initialRowIndex: Int, resultRowIndex: Int, cellStyle: XSSFCellStyle, - kth: KoulutuksetToteutuksetHakukohteetResult, + kth: KoulutusToteutusHakukohdeResult, asiointikieli: String ) = { val hakukohteenTiedotRow = sheet.createRow(initialRowIndex) @@ -154,7 +154,7 @@ object ExcelWriter { orgHierarkiaWithResults.hakukohteet.zipWithIndex.foreach((hakukohde, resultRowIndex) => { currentRowIndex = - createHakukohdeRow(sheet, currentRowIndex, resultRowIndex, cellStyle, hakukohde, asiointikieli) + createHakukohdeRow(sheet, currentRowIndex, resultRowIndex, cellStyle, hakukohde._2, asiointikieli) }) if (orgHierarkiaWithResults.children.nonEmpty) { diff --git a/ovara-backend/src/main/scala/fi/oph/ovara/backend/utils/OrganisaatioUtils.scala b/ovara-backend/src/main/scala/fi/oph/ovara/backend/utils/OrganisaatioUtils.scala index fb34ce6..97c9df0 100644 --- a/ovara-backend/src/main/scala/fi/oph/ovara/backend/utils/OrganisaatioUtils.scala +++ b/ovara-backend/src/main/scala/fi/oph/ovara/backend/utils/OrganisaatioUtils.scala @@ -5,7 +5,7 @@ import fi.oph.ovara.backend.domain.* object OrganisaatioUtils { def mapOrganisaationHakukohteetToParent( hierarkia: OrganisaatioHierarkia, - organisaatiotWithHakukohteet: Map[Option[String], Vector[KoulutuksetToteutuksetHakukohteetResult]] + organisaatiotWithHakukohteet: Map[Option[String], Vector[OrganisaationKoulutusToteutusHakukohde]] ): OrganisaatioHierarkiaWithHakukohteet = { val organisaatioOid = hierarkia.organisaatio_oid val kths = organisaatiotWithHakukohteet.find(o => { @@ -34,7 +34,7 @@ object OrganisaatioUtils { def mapOrganisaationHakukohteetToParents( hierarkiat: List[OrganisaatioHierarkia], - organisaatiotWithHakukohteet: Map[Option[String], Vector[KoulutuksetToteutuksetHakukohteetResult]] + organisaatiotWithHakukohteet: Map[Option[String], Vector[OrganisaationKoulutusToteutusHakukohde]] ): List[OrganisaatioHierarkiaWithHakukohteet] = { hierarkiat.map(hierarkia => mapOrganisaationHakukohteetToParent(hierarkia, organisaatiotWithHakukohteet)) } diff --git a/ovara-backend/src/test/scala/fi/oph/ovara/backend/utils/ExcelWriterSpec.scala b/ovara-backend/src/test/scala/fi/oph/ovara/backend/utils/ExcelWriterSpec.scala index f32374d..df88c7c 100644 --- a/ovara-backend/src/test/scala/fi/oph/ovara/backend/utils/ExcelWriterSpec.scala +++ b/ovara-backend/src/test/scala/fi/oph/ovara/backend/utils/ExcelWriterSpec.scala @@ -20,15 +20,17 @@ class ExcelWriterSpec extends AnyFlatSpec { "countAloituspaikat" should "return 5 for one hakukohde with 5 aloituspaikkaa" in { val organisaationKoulutuksetToteutuksetHakukohteet = List( - KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000021565", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(5), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.278170642010") + OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.278170642010"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000021565", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(5), + onValintakoe = Some(false) + ) ) ) @@ -36,27 +38,35 @@ class ExcelWriterSpec extends AnyFlatSpec { } it should "return 35 for three hakukohde aloituspaikat summed up" in { - val kth = KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000021565", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(5), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.278170642010") + val kth = OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.278170642010"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000021565", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(5), + onValintakoe = Some(false) + ) ) - val kth2 = kth.copy( - hakukohdeNimi = Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000012345", - aloituspaikat = Some(20) + val kth2 = kth.copy(koulutusToteutusHakukohde = + kth._2.copy( + hakukohdeNimi = + Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000012345", + aloituspaikat = Some(20) + ) ) - val kth3 = kth.copy( - hakukohdeNimi = Map(En -> "Hakukohteen 3 nimi en", Fi -> "Hakukohteen 3 nimi fi", Sv -> "Hakukohteen 3 nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000025467", - aloituspaikat = Some(10) + val kth3 = kth.copy(koulutusToteutusHakukohde = + kth._2.copy( + hakukohdeNimi = + Map(En -> "Hakukohteen 3 nimi en", Fi -> "Hakukohteen 3 nimi fi", Sv -> "Hakukohteen 3 nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000025467", + aloituspaikat = Some(10) + ) ) val organisaationKoulutuksetToteutuksetHakukohteet = List(kth, kth2, kth3) @@ -69,15 +79,17 @@ class ExcelWriterSpec extends AnyFlatSpec { } "flattenHierarkiaHakukohteet" should "return list with one hakukohde for one org in hierarkia" in { - val kth = KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000021565", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(8), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.2781706420000") + val kth = OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.2781706420000"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000021565", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(8), + onValintakoe = Some(false) + ) ) val hierarkiaWithHakukohteet = @@ -98,26 +110,34 @@ class ExcelWriterSpec extends AnyFlatSpec { } it should "return list with two hakukohde for koulutustoimija and oppilaitos in hierarkia" in { - val kth = KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000021565", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(3), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.2781706420000") + val kth = OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.2781706420000"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000021565", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(3), + onValintakoe = Some(false) + ) ) - val oppilaitoksenKth = KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000021565", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(8), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.2781706420111") + val oppilaitoksenKth = OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.2781706420111"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = Map( + En -> "Oppilaitoksen hakukohteen nimi en", + Fi -> "Oppilaitoksen hakukohteen nimi fi", + Sv -> "Oppilaitoksen hakukohteen nimi sv" + ), + hakukohdeOid = "1.2.246.562.20.000000000000000215666", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(8), + onValintakoe = Some(false) + ) ) val hierarkiaWithHakukohteet = @@ -151,20 +171,25 @@ class ExcelWriterSpec extends AnyFlatSpec { } it should "return list with two oppilaitos hakukohde in hierarkia" in { - val kth1 = KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000021565", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(8), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.278170642010") + val kth1 = OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.278170642010"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000021565", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(8), + onValintakoe = Some(false) + ) ) - val kth2 = kth1.copy( - hakukohdeNimi = Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), - hakukohdeOid = "1.2.246.562.20.0000000000000002156667" + val kth2 = kth1.copy(koulutusToteutusHakukohde = + kth1._2.copy( + hakukohdeNimi = + Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), + hakukohdeOid = "1.2.246.562.20.0000000000000002156667" + ) ) val hierarkiaWithHakukohteet = @@ -194,29 +219,36 @@ class ExcelWriterSpec extends AnyFlatSpec { } it should "return list with one toimipiste hakukohde and two oppilaitos hakukohde in hierarkia" in { - val oppilaitoksenKth1 = KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000021565", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(8), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.278170642010") + val oppilaitoksenKth1 = OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.278170642010"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000021565", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(8), + onValintakoe = Some(false) + ) ) val oppilaitoksenKth2 = oppilaitoksenKth1.copy( - hakukohdeNimi = Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), - hakukohdeOid = "1.2.246.562.20.0000000000000002156667" + koulutusToteutusHakukohde = oppilaitoksenKth1._2.copy( + hakukohdeNimi = + Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), + hakukohdeOid = "1.2.246.562.20.0000000000000002156667" + ) ) val toimipisteenKth = oppilaitoksenKth1.copy( - hakukohdeNimi = Map( - En -> "Toimipiste hakukohteen nimi en", - Fi -> "Toimipiste hakukohteen nimi fi", - Sv -> "Toimipiste hakukohteen nimi sv" + koulutusToteutusHakukohde = oppilaitoksenKth1._2.copy( + hakukohdeNimi = Map( + En -> "Toimipiste hakukohteen nimi en", + Fi -> "Toimipiste hakukohteen nimi fi", + Sv -> "Toimipiste hakukohteen nimi sv" + ), + hakukohdeOid = "1.2.246.562.20.000000000000000215521" ), - hakukohdeOid = "1.2.246.562.20.000000000000000215521", organisaatio_oid = Some("1.2.246.562.10.2781706420101111") ) @@ -267,30 +299,37 @@ class ExcelWriterSpec extends AnyFlatSpec { } "flattenHierarkiat" should "return list with one toimipiste hakukohde and two oppilaitos hakukohde in hierarkia" in { - val oppilaitoksenKth1 = KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000021565", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(8), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.278170642010") + val oppilaitoksenKth1 = OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.278170642010"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000021565", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(8), + onValintakoe = Some(false) + ) ) - val oppilaitoksenKth2 = oppilaitoksenKth1.copy( - hakukohdeNimi = Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), - hakukohdeOid = "1.2.246.562.20.0000000000000002156667" + val oppilaitoksenKth2 = oppilaitoksenKth1.copy(koulutusToteutusHakukohde = + oppilaitoksenKth1._2.copy( + hakukohdeNimi = + Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), + hakukohdeOid = "1.2.246.562.20.0000000000000002156667" + ) ) val toimipisteenKth = oppilaitoksenKth1.copy( - hakukohdeNimi = Map( - En -> "Toimipiste hakukohteen nimi en", - Fi -> "Toimipiste hakukohteen nimi fi", - Sv -> "Toimipiste hakukohteen nimi sv" - ), - hakukohdeOid = "1.2.246.562.20.000000000000000215521", - organisaatio_oid = Some("1.2.246.562.10.2781706420101111") + organisaatio_oid = Some("1.2.246.562.10.2781706420101111"), + koulutusToteutusHakukohde = oppilaitoksenKth1._2.copy( + hakukohdeNimi = Map( + En -> "Toimipiste hakukohteen nimi en", + Fi -> "Toimipiste hakukohteen nimi fi", + Sv -> "Toimipiste hakukohteen nimi sv" + ), + hakukohdeOid = "1.2.246.562.20.000000000000000215521" + ) ) val hierarkiaWithHakukohteet = @@ -398,21 +437,25 @@ class ExcelWriterSpec extends AnyFlatSpec { } "createOrganisaatioHeadingRow" should "create row with org name and total count of aloituspaikat" in { - val oppilaitoksenKth1 = - KoulutuksetToteutuksetHakukohteetResult( + val oppilaitoksenKth1 = OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.2781706420000"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), hakukohdeOid = "1.2.246.562.20.00000000000000021565", koulutuksenTila = Some("julkaistu"), toteutuksenTila = Some("julkaistu"), hakukohteenTila = Some("julkaistu"), aloituspaikat = Some(8), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.2781706420000") + onValintakoe = Some(false) ) + ) val oppilaitoksenKth2 = oppilaitoksenKth1.copy( - hakukohdeNimi = Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), - hakukohdeOid = "1.2.246.562.20.0000000000000002156667" + koulutusToteutusHakukohde = oppilaitoksenKth1._2.copy( + hakukohdeNimi = + Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), + hakukohdeOid = "1.2.246.562.20.0000000000000002156667" + ) ) val hierarkiaWithHakukohteet = @@ -584,27 +627,31 @@ class ExcelWriterSpec extends AnyFlatSpec { List("1.2.246.562.10.00000000001", "1.2.246.562.10.2781706420000", "1.2.246.562.10.278170642010"), List(), List( - KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = - Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000021565", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(8), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.278170642010") + OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.278170642010"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = + Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000021565", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(8), + onValintakoe = Some(false) + ) ), - KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = - Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000031232", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("tallennettu"), - hakukohteenTila = Some("tallennettu"), - aloituspaikat = Some(5), - onValintakoe = Some(true), - organisaatio_oid = Some("1.2.246.562.10.278170642010") + OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.278170642010"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = + Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000031232", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("tallennettu"), + hakukohteenTila = Some("tallennettu"), + aloituspaikat = Some(5), + onValintakoe = Some(true) + ) ) ) ) @@ -671,26 +718,31 @@ class ExcelWriterSpec extends AnyFlatSpec { List("1.2.246.562.10.00000000001", "1.2.246.562.10.2781706420000"), List(), List( - KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000021565", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(8), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.2781706420000") + OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.2781706420000"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = + Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000021565", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(8), + onValintakoe = Some(false) + ) ), - KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = - Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000031232", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("tallennettu"), - hakukohteenTila = Some("tallennettu"), - aloituspaikat = Some(5), - onValintakoe = Some(true), - organisaatio_oid = Some("1.2.246.562.10.2781706420000") + OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.2781706420000"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = + Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000031232", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("tallennettu"), + hakukohteenTila = Some("tallennettu"), + aloituspaikat = Some(5), + onValintakoe = Some(true) + ) ) ) ) @@ -762,19 +814,21 @@ class ExcelWriterSpec extends AnyFlatSpec { ), List(), List( - KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = Map( - En -> "Toimipisteen hakukohteen nimi en", - Fi -> "Toimipisteen hakukohteen nimi fi", - Sv -> "Toimipisteen hakukohteen nimi sv" - ), - hakukohdeOid = "1.2.246.562.20.0000000000000004567", - koulutuksenTila = Some("arkistoitu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(3), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.2781706420111") + OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.2781706420111"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = Map( + En -> "Toimipisteen hakukohteen nimi en", + Fi -> "Toimipisteen hakukohteen nimi fi", + Sv -> "Toimipisteen hakukohteen nimi sv" + ), + hakukohdeOid = "1.2.246.562.20.0000000000000004567", + koulutuksenTila = Some("arkistoitu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(3), + onValintakoe = Some(false) + ) ) ) ), @@ -806,81 +860,91 @@ class ExcelWriterSpec extends AnyFlatSpec { ), List(), List( - KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = Map( - En -> "Toimipisteen 2 alitoimipisteen hakukohteen nimi en", - Fi -> "Toimipisteen 2 alitoimipisteen hakukohteen nimi fi", - Sv -> "Toimipisteen 2 alitoimipisteen hakukohteen nimi sv" - ), - hakukohdeOid = "1.2.246.562.20.000000000000000456811", - koulutuksenTila = Some("arkistoitu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(2), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.278170642013211") + OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.278170642013211"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = Map( + En -> "Toimipisteen 2 alitoimipisteen hakukohteen nimi en", + Fi -> "Toimipisteen 2 alitoimipisteen hakukohteen nimi fi", + Sv -> "Toimipisteen 2 alitoimipisteen hakukohteen nimi sv" + ), + hakukohdeOid = "1.2.246.562.20.000000000000000456811", + koulutuksenTila = Some("arkistoitu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(2), + onValintakoe = Some(false) + ) ) ) ) ), List( - KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = Map( - En -> "Toimipisteen 2 hakukohteen nimi en", - Fi -> "Toimipisteen 2 hakukohteen nimi fi", - Sv -> "Toimipisteen 2 hakukohteen nimi sv" - ), - hakukohdeOid = "1.2.246.562.20.0000000000000004568", - koulutuksenTila = Some("arkistoitu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(4), - onValintakoe = Some(true), - organisaatio_oid = Some("1.2.246.562.10.2781706420132") + OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.2781706420132"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = Map( + En -> "Toimipisteen 2 hakukohteen nimi en", + Fi -> "Toimipisteen 2 hakukohteen nimi fi", + Sv -> "Toimipisteen 2 hakukohteen nimi sv" + ), + hakukohdeOid = "1.2.246.562.20.0000000000000004568", + koulutuksenTila = Some("arkistoitu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(4), + onValintakoe = Some(true) + ) ) ) ) ), List( - KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = - Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000021565", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(8), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.278170642010") + OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.278170642010"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = + Map(En -> "Hakukohteen nimi en", Fi -> "Hakukohteen nimi fi", Sv -> "Hakukohteen nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000021565", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(8), + onValintakoe = Some(false) + ) ), - KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = - Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000031232", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("tallennettu"), - hakukohteenTila = Some("tallennettu"), - aloituspaikat = Some(5), - onValintakoe = Some(true), - organisaatio_oid = Some("1.2.246.562.10.278170642010") + OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.278170642010"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = + Map(En -> "Hakukohteen 2 nimi en", Fi -> "Hakukohteen 2 nimi fi", Sv -> "Hakukohteen 2 nimi sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000031232", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("tallennettu"), + hakukohteenTila = Some("tallennettu"), + aloituspaikat = Some(5), + onValintakoe = Some(true) + ) ) ) ) ), List( - KoulutuksetToteutuksetHakukohteetResult( - hakukohdeNimi = Map( - En -> "Koulutustoimijan hakukohteen nimi en", - Fi -> "Koulutustoimijan hakukohteen nimi fi", - Sv -> "Koulutustoimijan hakukohteen nimi sv" - ), - hakukohdeOid = "1.2.246.562.20.00000000000000021542013", - koulutuksenTila = Some("julkaistu"), - toteutuksenTila = Some("julkaistu"), - hakukohteenTila = Some("julkaistu"), - aloituspaikat = Some(4), - onValintakoe = Some(false), - organisaatio_oid = Some("1.2.246.562.10.2781706420000") + OrganisaationKoulutusToteutusHakukohde( + organisaatio_oid = Some("1.2.246.562.10.2781706420000"), + koulutusToteutusHakukohde = KoulutusToteutusHakukohdeResult( + hakukohdeNimi = Map( + En -> "Koulutustoimijan hakukohteen nimi en", + Fi -> "Koulutustoimijan hakukohteen nimi fi", + Sv -> "Koulutustoimijan hakukohteen nimi sv" + ), + hakukohdeOid = "1.2.246.562.20.00000000000000021542013", + koulutuksenTila = Some("julkaistu"), + toteutuksenTila = Some("julkaistu"), + hakukohteenTila = Some("julkaistu"), + aloituspaikat = Some(4), + onValintakoe = Some(false) + ) ) ) ) diff --git a/ovara-backend/src/test/scala/fi/oph/ovara/backend/utils/OrganisaatioUtilsSpec.scala b/ovara-backend/src/test/scala/fi/oph/ovara/backend/utils/OrganisaatioUtilsSpec.scala index 0e139e0..53be308 100644 --- a/ovara-backend/src/test/scala/fi/oph/ovara/backend/utils/OrganisaatioUtilsSpec.scala +++ b/ovara-backend/src/test/scala/fi/oph/ovara/backend/utils/OrganisaatioUtilsSpec.scala @@ -184,22 +184,26 @@ class OrganisaatioUtilsSpec extends AnyFlatSpec { List() ) - val kth = KoulutuksetToteutuksetHakukohteetResult( - Map(En -> "hakukohde 1 en", Fi -> "hakukohde 1 fi", Sv -> "hakukohde 1 sv"), - "1.2.246.562.20.00000000000000041885", - Some("julkaistu"), - Some("arkistoitu"), - Some("arkistoitu"), - Some(18), - Some(true), - Some(true), - Some(false), - Some("1.2.246.562.10.41253773158") + val kth = OrganisaationKoulutusToteutusHakukohde( + Some("1.2.246.562.10.41253773158"), + KoulutusToteutusHakukohdeResult( + Map(En -> "hakukohde 1 en", Fi -> "hakukohde 1 fi", Sv -> "hakukohde 1 sv"), + "1.2.246.562.20.00000000000000041885", + Some("julkaistu"), + Some("arkistoitu"), + Some("arkistoitu"), + Some(18), + Some(true), + Some(true), + Some(false) + ) ) - val kth2 = kth.copy( - hakukohdeNimi = Map(En -> "hakukohde 2 en", Fi -> "hakukohde 2 fi", Sv -> "hakukohde 2 sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000041886" + val kth2 = kth.copy(koulutusToteutusHakukohde = + kth._2.copy( + hakukohdeNimi = Map(En -> "hakukohde 2 en", Fi -> "hakukohde 2 fi", Sv -> "hakukohde 2 sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000041886" + ) ) assert( @@ -255,22 +259,26 @@ class OrganisaatioUtilsSpec extends AnyFlatSpec { ) ) - val kth = KoulutuksetToteutuksetHakukohteetResult( - Map(En -> "hakukohde 1 en", Fi -> "hakukohde 1 fi", Sv -> "hakukohde 1 sv"), - "1.2.246.562.20.00000000000000041885", - Some("julkaistu"), - Some("arkistoitu"), - Some("arkistoitu"), - Some(18), - Some(true), - Some(true), - Some(false), - Some("1.2.246.562.10.10645749713") + val kth = OrganisaationKoulutusToteutusHakukohde( + Some("1.2.246.562.10.10645749713"), + KoulutusToteutusHakukohdeResult( + Map(En -> "hakukohde 1 en", Fi -> "hakukohde 1 fi", Sv -> "hakukohde 1 sv"), + "1.2.246.562.20.00000000000000041885", + Some("julkaistu"), + Some("arkistoitu"), + Some("arkistoitu"), + Some(18), + Some(true), + Some(true), + Some(false) + ) ) val kth2 = kth.copy( - hakukohdeNimi = Map(En -> "hakukohde 2 en", Fi -> "hakukohde 2 fi", Sv -> "hakukohde 2 sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000041886" + koulutusToteutusHakukohde = kth._2.copy( + hakukohdeNimi = Map(En -> "hakukohde 2 en", Fi -> "hakukohde 2 fi", Sv -> "hakukohde 2 sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000041886" + ) ) assert( @@ -378,56 +386,64 @@ class OrganisaatioUtilsSpec extends AnyFlatSpec { ) ) - val kth = KoulutuksetToteutuksetHakukohteetResult( - Map(En -> "hakukohde 1 en", Fi -> "hakukohde 1 fi", Sv -> "hakukohde 1 sv"), - "1.2.246.562.20.00000000000000041885", - Some("julkaistu"), - Some("arkistoitu"), - Some("arkistoitu"), - Some(18), - Some(true), - Some(true), - Some(false), + val kth = OrganisaationKoulutusToteutusHakukohde( Some("1.2.246.562.10.10645749713"), + KoulutusToteutusHakukohdeResult( + Map(En -> "hakukohde 1 en", Fi -> "hakukohde 1 fi", Sv -> "hakukohde 1 sv"), + "1.2.246.562.20.00000000000000041885", + Some("julkaistu"), + Some("arkistoitu"), + Some("arkistoitu"), + Some(18), + Some(true), + Some(true), + Some(false) + ) ) - val kth2 = kth.copy( - hakukohdeNimi = Map(En -> "hakukohde 2 en", Fi -> "hakukohde 2 fi", Sv -> "hakukohde 2 sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000041886" + val kth2 = kth.copy(koulutusToteutusHakukohde = + kth._2.copy( + hakukohdeNimi = Map(En -> "hakukohde 2 en", Fi -> "hakukohde 2 fi", Sv -> "hakukohde 2 sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000041886" + ) ) - val alitoimipisteKth = KoulutuksetToteutuksetHakukohteetResult( - Map( - En -> "Alitoimipisteen hakukohde 1 en", - Fi -> "Alitoimipisteen hakukohde 1 fi", - Sv -> "Alitoimipisteen hakukohde 1 sv" - ), - "1.2.246.562.20.000000000000000419995", - Some("julkaistu"), - Some("arkistoitu"), - Some("arkistoitu"), - Some(18), - Some(true), - Some(true), - Some(false), + val alitoimipisteKth = OrganisaationKoulutusToteutusHakukohde( Some("1.2.246.562.10.1064574971333"), + KoulutusToteutusHakukohdeResult( + Map( + En -> "Alitoimipisteen hakukohde 1 en", + Fi -> "Alitoimipisteen hakukohde 1 fi", + Sv -> "Alitoimipisteen hakukohde 1 sv" + ), + "1.2.246.562.20.000000000000000419995", + Some("julkaistu"), + Some("arkistoitu"), + Some("arkistoitu"), + Some(18), + Some(true), + Some(true), + Some(false) + ) ) - val ylimaarainenKth = KoulutuksetToteutuksetHakukohteetResult( - Map( - En -> "Ylimääräinen hakukohde 1 en", - Fi -> "Ylimääräinen hakukohde 1 fi", - Sv -> "Ylimääräinen hakukohde 1 sv" - ), - "1.2.246.562.20.00000000000000041999100", - Some("julkaistu"), - Some("arkistoitu"), - Some("arkistoitu"), - Some(18), - Some(true), - Some(true), - Some(false), + val ylimaarainenKth = OrganisaationKoulutusToteutusHakukohde( Some("1.2.246.562.10.1064574971445"), + KoulutusToteutusHakukohdeResult( + Map( + En -> "Ylimääräinen hakukohde 1 en", + Fi -> "Ylimääräinen hakukohde 1 fi", + Sv -> "Ylimääräinen hakukohde 1 sv" + ), + "1.2.246.562.20.00000000000000041999100", + Some("julkaistu"), + Some("arkistoitu"), + Some("arkistoitu"), + Some(18), + Some(true), + Some(true), + Some(false) + ) ) assert( @@ -524,22 +540,26 @@ class OrganisaatioUtilsSpec extends AnyFlatSpec { ) ) - val kth = KoulutuksetToteutuksetHakukohteetResult( - Map(En -> "hakukohde 1 en", Fi -> "hakukohde 1 fi", Sv -> "hakukohde 1 sv"), - "1.2.246.562.20.00000000000000041885", - Some("julkaistu"), - Some("arkistoitu"), - Some("arkistoitu"), - Some(18), - Some(true), - Some(true), - Some(false), + val kth = OrganisaationKoulutusToteutusHakukohde( Some("1.2.246.562.10.41253773158"), + KoulutusToteutusHakukohdeResult( + Map(En -> "hakukohde 1 en", Fi -> "hakukohde 1 fi", Sv -> "hakukohde 1 sv"), + "1.2.246.562.20.00000000000000041885", + Some("julkaistu"), + Some("arkistoitu"), + Some("arkistoitu"), + Some(18), + Some(true), + Some(true), + Some(false) + ) ) - val kth2 = kth.copy( - hakukohdeNimi = Map(En -> "hakukohde 2 en", Fi -> "hakukohde 2 fi", Sv -> "hakukohde 2 sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000041886" + val kth2 = kth.copy(koulutusToteutusHakukohde = + kth._2.copy( + hakukohdeNimi = Map(En -> "hakukohde 2 en", Fi -> "hakukohde 2 fi", Sv -> "hakukohde 2 sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000041886" + ) ) assert( @@ -581,17 +601,19 @@ class OrganisaatioUtilsSpec extends AnyFlatSpec { ) ) - val kth = KoulutuksetToteutuksetHakukohteetResult( - Map(En -> "hakukohde 1 en", Fi -> "hakukohde 1 fi", Sv -> "hakukohde 1 sv"), - "1.2.246.562.20.00000000000000041885", - Some("julkaistu"), - Some("arkistoitu"), - Some("arkistoitu"), - Some(18), - Some(true), - Some(true), - Some(false), + val kth = OrganisaationKoulutusToteutusHakukohde( Some("1.2.246.562.10.10065598749"), + KoulutusToteutusHakukohdeResult( + Map(En -> "hakukohde 1 en", Fi -> "hakukohde 1 fi", Sv -> "hakukohde 1 sv"), + "1.2.246.562.20.00000000000000041885", + Some("julkaistu"), + Some("arkistoitu"), + Some("arkistoitu"), + Some(18), + Some(true), + Some(true), + Some(false) + ) ) assert( @@ -650,22 +672,26 @@ class OrganisaatioUtilsSpec extends AnyFlatSpec { ) ) - val kth = KoulutuksetToteutuksetHakukohteetResult( - Map(En -> "hakukohde 1 en", Fi -> "hakukohde 1 fi", Sv -> "hakukohde 1 sv"), - "1.2.246.562.20.00000000000000041885", - Some("julkaistu"), - Some("arkistoitu"), - Some("arkistoitu"), - Some(18), - Some(true), - Some(true), - Some(false), + val kth = OrganisaationKoulutusToteutusHakukohde( Some("1.2.246.562.10.10645749713"), + KoulutusToteutusHakukohdeResult( + Map(En -> "hakukohde 1 en", Fi -> "hakukohde 1 fi", Sv -> "hakukohde 1 sv"), + "1.2.246.562.20.00000000000000041885", + Some("julkaistu"), + Some("arkistoitu"), + Some("arkistoitu"), + Some(18), + Some(true), + Some(true), + Some(false) + ) ) - val kth2 = kth.copy( - hakukohdeNimi = Map(En -> "hakukohde 2 en", Fi -> "hakukohde 2 fi", Sv -> "hakukohde 2 sv"), - hakukohdeOid = "1.2.246.562.20.00000000000000041886" + val kth2 = kth.copy(koulutusToteutusHakukohde = + kth._2.copy( + hakukohdeNimi = Map(En -> "hakukohde 2 en", Fi -> "hakukohde 2 fi", Sv -> "hakukohde 2 sv"), + hakukohdeOid = "1.2.246.562.20.00000000000000041886" + ) ) assert(