feature #9: Create route for register

This commit is contained in:
2019-08-24 02:03:29 +02:00
parent 29463e310e
commit f887b99536
6 changed files with 59 additions and 4 deletions

View File

@@ -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")
}

View 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.
"""