From ff1e34c616ea23acbbd5fd105c269d7e85a9d0ef Mon Sep 17 00:00:00 2001 From: Fabrice Lecomte Date: Tue, 27 Aug 2019 22:09:42 +0200 Subject: [PATCH] Add cucumbers steps for article --- src/test/kotlin/feature/ArticleSteps.kt | 53 +++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/test/kotlin/feature/ArticleSteps.kt diff --git a/src/test/kotlin/feature/ArticleSteps.kt b/src/test/kotlin/feature/ArticleSteps.kt new file mode 100644 index 0000000..c38f1ae --- /dev/null +++ b/src/test/kotlin/feature/ArticleSteps.kt @@ -0,0 +1,53 @@ +package feature + +import fr.dcproject.entity.Citizen +import io.cucumber.java8.En +import org.joda.time.DateTime +import org.koin.test.KoinTest +import org.koin.test.get +import java.util.* +import java.util.concurrent.CompletionException +import fr.dcproject.entity.Article as ArticleEntity +import fr.dcproject.entity.User as UserEntity +import fr.dcproject.repository.Article as ArticleRepository +import fr.dcproject.repository.Citizen as CitizenRepository + +class ArticleSteps: En, KoinTest { + init { + Given("I have article with id {string}") { id: String -> + var citizen = Citizen( + name = Citizen.Name("John", "Doe"), + birthday = DateTime.now(), + user = UserEntity(username = "john-doe", plainPassword = "azerty") + ) + + try { + get().insertWithUser(citizen) + } catch (e: CompletionException) { + citizen = get().findByUsername("john-doe")!! + } + + val article = ArticleEntity( + id = UUID.fromString(id), + title = "hello", + content = "bla bla bla", + description = "A super article", + createdBy = citizen + ) + get().upsert(article) + } + + Given("I have article with id {string} created by {string}") { id: String, username: String -> + val citizen = get().findByUsername(username)!! + + val article = ArticleEntity( + id = UUID.fromString(id), + title = "hello", + content = "bla bla bla", + description = "A super article", + createdBy = citizen + ) + get().upsert(article) + } + } +} \ No newline at end of file