67 lines
2.4 KiB
Kotlin
67 lines
2.4 KiB
Kotlin
package integration
|
|
|
|
import integration.steps.`when`.Validate
|
|
import integration.steps.`when`.`When I send a POST request`
|
|
import integration.steps.`when`.`with body`
|
|
import integration.steps.then.`And the response should be null`
|
|
import integration.steps.then.`And the response should contain pattern`
|
|
import integration.steps.then.`And the response should not be null`
|
|
import integration.steps.then.`Then the response should be`
|
|
import integration.steps.then.and
|
|
import io.ktor.http.HttpStatusCode.Companion.BadRequest
|
|
import io.ktor.http.HttpStatusCode.Companion.OK
|
|
import org.junit.jupiter.api.Tag
|
|
import org.junit.jupiter.api.Tags
|
|
import org.junit.jupiter.api.Test
|
|
import org.junit.jupiter.api.TestInstance
|
|
|
|
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
|
@Tags(Tag("integration"), Tag("auth"), Tag("register"))
|
|
class `Register routes` : BaseTest() {
|
|
@Test
|
|
fun `I can register`() {
|
|
withIntegrationApplication {
|
|
`When I send a POST request`("/register") {
|
|
`with body`(
|
|
"""
|
|
{
|
|
"name": {"firstName":"George", "lastName":"MICHEL"},
|
|
"birthday": "2001-01-01",
|
|
"user":{
|
|
"username": "george-junior",
|
|
"password": "azerty"
|
|
},
|
|
"email": "george-junior@gmail.com"
|
|
}
|
|
"""
|
|
)
|
|
} `Then the response should be` OK and {
|
|
`And the response should not be null`()
|
|
`And the response should contain pattern`("$.token", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.")
|
|
}
|
|
}
|
|
}
|
|
|
|
@Test
|
|
fun `I cannot register if no username was sent`() {
|
|
withIntegrationApplication {
|
|
`When I send a POST request`("/register", Validate.ALL - Validate.REQUEST_BODY) {
|
|
`with body`(
|
|
"""
|
|
{
|
|
"name": {"firstName":"George2", "lastName":"MICHEL2"},
|
|
"birthday": "2001-01-01",
|
|
"user":{
|
|
"password": ""
|
|
},
|
|
"email": "george-junior@gmail.com"
|
|
}
|
|
"""
|
|
)
|
|
} `Then the response should be` BadRequest and {
|
|
`And the response should be null`()
|
|
}
|
|
}
|
|
}
|
|
}
|