move Integration step test
This commit is contained in:
36
src/test/kotlin/integration/steps/given/Citizen.kt
Normal file
36
src/test/kotlin/integration/steps/given/Citizen.kt
Normal file
@@ -0,0 +1,36 @@
|
||||
package integration.steps.given
|
||||
|
||||
import fr.dcproject.common.utils.toUUID
|
||||
import fr.dcproject.component.auth.UserForCreate
|
||||
import fr.dcproject.component.citizen.Citizen
|
||||
import fr.dcproject.component.citizen.CitizenForCreate
|
||||
import fr.dcproject.component.citizen.CitizenI
|
||||
import fr.dcproject.component.citizen.CitizenRepository
|
||||
import io.ktor.server.testing.TestApplicationEngine
|
||||
import org.joda.time.DateTime
|
||||
import org.koin.core.context.GlobalContext
|
||||
import java.util.UUID
|
||||
|
||||
fun TestApplicationEngine.`Given I have citizen`(
|
||||
firstName: String,
|
||||
lastName: String,
|
||||
email: String = ("$firstName-$lastName".toLowerCase()) + "@dc-project.fr",
|
||||
id: String = UUID.randomUUID().toString()
|
||||
): Citizen? {
|
||||
val repo: CitizenRepository by lazy<CitizenRepository> { GlobalContext.get().koin.get() }
|
||||
|
||||
val user = UserForCreate(
|
||||
id = id.toUUID(),
|
||||
username = "$firstName-$lastName".toLowerCase(),
|
||||
password = "azerty",
|
||||
)
|
||||
val citizen = CitizenForCreate(
|
||||
id = id.toUUID(),
|
||||
name = CitizenI.Name(firstName, lastName),
|
||||
email = email,
|
||||
birthday = DateTime.now(),
|
||||
user = user
|
||||
)
|
||||
|
||||
return repo.insertWithUser(citizen)
|
||||
}
|
||||
Reference in New Issue
Block a user