Add validation on route CreateCommentArticle
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package integration
|
||||
|
||||
import fr.dcproject.component.citizen.database.CitizenI.Name
|
||||
import integration.steps.`when`.Validate.ALL
|
||||
import integration.steps.`when`.Validate.REQUEST_BODY
|
||||
import integration.steps.`when`.`When I send a GET request`
|
||||
import integration.steps.`when`.`When I send a POST request`
|
||||
import integration.steps.`when`.`When I send a PUT request`
|
||||
@@ -13,6 +15,7 @@ import integration.steps.then.`And the response should contain`
|
||||
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.Created
|
||||
import io.ktor.http.HttpStatusCode.Companion.OK
|
||||
import org.junit.jupiter.api.Tag
|
||||
@@ -33,14 +36,37 @@ class `Comment articles routes` : BaseTest() {
|
||||
`with body`(
|
||||
"""
|
||||
{
|
||||
"content": "Hello mister"
|
||||
"content": "Hello mister MARABOUTCHA"
|
||||
}
|
||||
"""
|
||||
)
|
||||
} `Then the response should be` Created and {
|
||||
`And the response should not be null`()
|
||||
`And the response should contain`("$.target.id", "aa16c635-28da-46f0-9a89-934eef88c7ca")
|
||||
`And the response should contain`("$.content", "Hello mister")
|
||||
`And the response should contain`("$.content", "Hello mister MARABOUTCHA")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@Tag("BadRequest")
|
||||
fun `I cannot comment article with bad request`() {
|
||||
withIntegrationApplication {
|
||||
`Given I have citizen`("Michael", "Faraday")
|
||||
`Given I have article`(id = "aa16c635-28da-46f0-9a89-934eef88c7ca")
|
||||
`When I send a POST request`("/articles/aa16c635-28da-46f0-9a89-934eef88c7ca/comments", ALL - REQUEST_BODY) {
|
||||
`authenticated as`("Michael", "Faraday")
|
||||
`with body`(
|
||||
"""
|
||||
{
|
||||
"content": "To small content"
|
||||
}
|
||||
"""
|
||||
)
|
||||
} `Then the response should be` BadRequest and {
|
||||
`And the response should not be null`()
|
||||
`And the response should contain`("$.invalidParams[0].name", ".content")
|
||||
`And the response should contain`("$.invalidParams[0].reason", "must have at least 20 characters")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user