I’m using webflows in Grails and I’m currently writing tests for it. Now, inside I’ve got something that throws an error so I set a message to the flash scope before redirecting:
...
if (some_condition) {
flash.message = "my error message"
return error()
}
...
Now, I know that when I’m going to display this in the GSP page, I access the flash message as
<g:if test="${message}">...
instead of the usual
<g:if test="${flash.message}">...
So anyway, I’m writing my test and I’m wondering how to test the content of the message? Usually, in normal actions in the controllers, I follow what’s written in here . However, since this is a webflow, I can’t seem to find the message even if I check controller.flash.message / controller.params.message / controller.message . I’ve also tried looking at the flow scope…
Any ideas on how to see the message then? Thanks a bunch!
Based on your example, you can access your
flash.messageascontroller.request.messagein your webflow test. I did a lot of googling for this same exact issue and a lot of webflow documentations talk about it merging all scopes into the “view model”. But I also read somewhere that it merges the flash scope into the request scope for redirection. That’s what prompted me to try looking in thecontroller.requestin my test case.