feature #9: Create route for register
This commit is contained in:
@@ -9,6 +9,7 @@ import kotlinx.serialization.json.JsonElement
|
||||
import kotlinx.serialization.json.JsonPrimitive
|
||||
import kotlinx.serialization.parse
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertTrue
|
||||
import kotlin.test.fail
|
||||
|
||||
@ImplicitReflectionSerializer
|
||||
@@ -30,6 +31,14 @@ class KtorServerRestSteps : En {
|
||||
val jsonArray = responseJsonElement as? JsonArray ?: fail("The json response isn't array")
|
||||
assertEquals(count, jsonArray.size)
|
||||
}
|
||||
|
||||
Then("the Response should be:") { body: String ->
|
||||
assertEquals(body, response)
|
||||
}
|
||||
|
||||
Then("the Response should contain:") { body: String ->
|
||||
assertTrue(response.contains(body))
|
||||
}
|
||||
}
|
||||
|
||||
private fun findJsonElement(node: String): JsonElement {
|
||||
@@ -52,4 +61,7 @@ class KtorServerRestSteps : En {
|
||||
|
||||
private val responseJsonElement: JsonElement
|
||||
get() = Json.parse(KtorServerContext.defaultServer.call?.response?.content ?: fail("The response isn't valid JSON"))
|
||||
|
||||
private val response: String
|
||||
get() = KtorServerContext.defaultServer.call?.response?.content ?: fail("The response isn't valid")
|
||||
}
|
||||
|
||||
33
src/test/resources/feature/auth.feature
Normal file
33
src/test/resources/feature/auth.feature
Normal file
@@ -0,0 +1,33 @@
|
||||
Feature: Auth routes
|
||||
|
||||
Scenario: The route for create citizen must response a 200 and return object
|
||||
When I send a POST request to "/register" with body:
|
||||
"""
|
||||
{
|
||||
"name": {"first_name":"George", "last_name":"MICHEL"},
|
||||
"birthday": "2001-01-01",
|
||||
"user":{
|
||||
"username": "george-junior",
|
||||
"plain_password": "azerty"
|
||||
}
|
||||
}
|
||||
"""
|
||||
Then the response status code should be 200
|
||||
And the Response should contain:
|
||||
"""
|
||||
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.
|
||||
"""
|
||||
|
||||
Scenario: The route for create citizen must response a 200 and return object
|
||||
When I send a POST request to "/login" with body:
|
||||
"""
|
||||
{
|
||||
"name": "username1",
|
||||
"password": "azerty"
|
||||
}
|
||||
"""
|
||||
Then the response status code should be 200
|
||||
And the Response should contain:
|
||||
"""
|
||||
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.
|
||||
"""
|
||||
Reference in New Issue
Block a user