Mockinizer
Mockinizer copied to clipboard
How to return success or error based on body params
So I'm not sure if there is a way to do this or not, but in your examples, you have a success endpoint and a failure endpoint. In real life, there would be only 1 endpoint that returned success or failure.
So in my example, a user logs in and the body would be something like {"email":"[email protected]","password":"12345"} and they would get a token returned.
So my mock looks like this:
RequestFilter("/v1/login", method = Method.POST) to MockResponse().apply {
setResponseCode(200)
setBody(
"""
{
"token":"000000000000000000000"
}
""".trimIndent()
)
setBodyDelay(1, TimeUnit.SECONDS)
setHeadersDelay(1, TimeUnit.SECONDS)
}
Which is working fine. But what if I wanted to test a case where the login credentials are bad and therefore it returns an error? This way I can test what the UI looks like after the error response. Obviously, I would need to do this from the same endpoint.
So I would want setResponseCode
to be conditional by somehow checking the request body
Hi @kkl260. Looks like what you are looking for is:
RequestFilter("/v1/login", method = Method.POST, body = """{"email":"[email protected]","password":"12345"}""" ) to MockResponse().apply {
setResponseCode(200)
...