Refactor constitution entity

This commit is contained in:
2021-03-20 00:55:39 +01:00
parent 8701815288
commit c9ce2a9dc7
8 changed files with 131 additions and 96 deletions

View File

@@ -5,17 +5,17 @@ import fr.dcproject.common.utils.toUUID
import fr.dcproject.component.article.database.ArticleRef
import fr.dcproject.component.citizen.database.CitizenI.Name
import fr.dcproject.component.citizen.database.CitizenWithUserI
import fr.dcproject.component.constitution.database.Constitution
import fr.dcproject.component.constitution.database.ConstitutionForUpdate
import fr.dcproject.component.constitution.database.ConstitutionForUpdate.TitleForUpdate
import fr.dcproject.component.constitution.database.ConstitutionForView
import fr.dcproject.component.constitution.database.ConstitutionRepository
import fr.dcproject.component.constitution.database.ConstitutionSimple
import fr.dcproject.component.constitution.database.ConstitutionSimple.TitleSimple
import io.ktor.server.testing.TestApplicationEngine
import org.koin.core.context.GlobalContext
import java.util.UUID
fun TestApplicationEngine.`Given I have constitution`(
id: String? = null,
titles: List<TitleSimple<ArticleRef>>? = null,
titles: List<TitleForUpdate<ArticleRef>>? = null,
createdBy: Name? = null
) {
createConstitution(id?.toUUID(), titles, createdBy)
@@ -29,26 +29,26 @@ fun TestApplicationEngine.`Given I have constitutions`(
}
}
fun createTitles(nbr: Int): List<TitleSimple<ArticleRef>> = sequence {
fun createTitles(nbr: Int): List<TitleForUpdate<ArticleRef>> = sequence {
repeat(nbr) {
yield(createTitle())
}
}.toList()
fun createTitle(): TitleSimple<ArticleRef> {
return TitleSimple(name = LoremIpsum().getTitle(3))
fun createTitle(): TitleForUpdate<ArticleRef> {
return TitleForUpdate(name = LoremIpsum().getTitle(3))
}
fun createConstitution(
id: UUID? = null,
titles: List<TitleSimple<ArticleRef>>? = null,
titles: List<TitleForUpdate<ArticleRef>>? = null,
createdBy: Name? = null
): Constitution {
): ConstitutionForView {
val constitutionRepository: ConstitutionRepository by lazy { GlobalContext.get().koin.get() }
val creator: CitizenWithUserI = createCitizen(createdBy)
val constitution = ConstitutionSimple(
val constitution = ConstitutionForUpdate(
id = id ?: UUID.randomUUID(),
title = LoremIpsum().getTitle(3),
titles = titles ?: createTitles(5),