From c85401aa86e98b191c12095870aedd4c728e1ff9 Mon Sep 17 00:00:00 2001 From: Fabrice Lecomte Date: Wed, 10 Feb 2021 18:10:21 +0100 Subject: [PATCH] move createCitizen of Integration test --- .../kotlin/integration/steps/given/Article.kt | 29 ++----------------- .../kotlin/integration/steps/given/Citizen.kt | 25 ++++++++++++++++ src/test/resources/feature/articles.feature | 1 + src/test/resources/feature/auth.feature | 1 + src/test/resources/feature/citizen.feature | 1 + 5 files changed, 30 insertions(+), 27 deletions(-) diff --git a/src/test/kotlin/integration/steps/given/Article.kt b/src/test/kotlin/integration/steps/given/Article.kt index 974e5d6..eb43716 100644 --- a/src/test/kotlin/integration/steps/given/Article.kt +++ b/src/test/kotlin/integration/steps/given/Article.kt @@ -3,13 +3,8 @@ package integration.steps.given import fr.dcproject.common.utils.toUUID import fr.dcproject.component.article.ArticleForUpdate import fr.dcproject.component.article.ArticleRepository -import fr.dcproject.component.auth.UserForCreate -import fr.dcproject.component.citizen.CitizenForCreate -import fr.dcproject.component.citizen.CitizenI -import fr.dcproject.component.citizen.CitizenRepository import fr.dcproject.component.workgroup.WorkgroupRef import io.ktor.server.testing.TestApplicationEngine -import org.joda.time.DateTime import org.koin.core.context.GlobalContext import java.util.UUID @@ -34,34 +29,14 @@ fun TestApplicationEngine.`Given I have article created by workgroup`( createArticle(workgroup = WorkgroupRef(workgroupId.toUUID())) } -private fun createArticle( +fun createArticle( id: UUID? = null, workgroup: WorkgroupRef? = null, createdByUsername: String? = null ) { - val username = (createdByUsername ?: "username" + UUID.randomUUID().toString()) - .toLowerCase().replace(' ', '-') - - val citizenRepository: CitizenRepository by lazy { GlobalContext.get().koin.get() } val articleRepository: ArticleRepository by lazy { GlobalContext.get().koin.get() } - val createdBy = if (createdByUsername != null) { - citizenRepository.findByUsername(username) ?: error("Citizen not exist") - } else { - val first = "firstName" + UUID.randomUUID().toString() - val last = "lastName" + UUID.randomUUID().toString() - CitizenForCreate( - birthday = DateTime.now(), - name = CitizenI.Name( - first, - last - ), - email = "$first@fakeemail.com", - user = UserForCreate(username = username, password = "azerty") - ).let { - citizenRepository.insertWithUser(it) ?: error("Unable to create User") - } - } + val createdBy = createCitizen(createdByUsername) val article = ArticleForUpdate( id = id ?: UUID.randomUUID(), diff --git a/src/test/kotlin/integration/steps/given/Citizen.kt b/src/test/kotlin/integration/steps/given/Citizen.kt index 9e47405..b3a9687 100644 --- a/src/test/kotlin/integration/steps/given/Citizen.kt +++ b/src/test/kotlin/integration/steps/given/Citizen.kt @@ -34,3 +34,28 @@ fun TestApplicationEngine.`Given I have citizen`( return repo.insertWithUser(citizen) } + +fun createCitizen(createdByUsername: String? = null): Citizen { + val citizenRepository: CitizenRepository by lazy { GlobalContext.get().koin.get() } + + val username = (createdByUsername ?: "username" + UUID.randomUUID().toString()) + .toLowerCase().replace(' ', '-') + + return if (createdByUsername != null) { + citizenRepository.findByUsername(createdByUsername) ?: error("Citizen not exist") + } else { + val first = "firstName" + UUID.randomUUID().toString() + val last = "lastName" + UUID.randomUUID().toString() + CitizenForCreate( + birthday = DateTime.now(), + name = CitizenI.Name( + first, + last + ), + email = "$first@fakeemail.com", + user = UserForCreate(username = username, password = "azerty") + ).let { + citizenRepository.insertWithUser(it) ?: error("Unable to create User") + } + } +} diff --git a/src/test/resources/feature/articles.feature b/src/test/resources/feature/articles.feature index 3d1b6e1..b697cf4 100644 --- a/src/test/resources/feature/articles.feature +++ b/src/test/resources/feature/articles.feature @@ -1,4 +1,5 @@ @article +@disable Feature: articles routes Scenario: The route for get articles must response a 200 diff --git a/src/test/resources/feature/auth.feature b/src/test/resources/feature/auth.feature index 5974817..398b4a8 100644 --- a/src/test/resources/feature/auth.feature +++ b/src/test/resources/feature/auth.feature @@ -1,4 +1,5 @@ @auth +@disable Feature: Auth routes Scenario: I can resiter diff --git a/src/test/resources/feature/citizen.feature b/src/test/resources/feature/citizen.feature index 43c9814..5b19846 100644 --- a/src/test/resources/feature/citizen.feature +++ b/src/test/resources/feature/citizen.feature @@ -1,4 +1,5 @@ @citizen +@disable Feature: citizens routes Scenario: I can get Citizens informations