1 package org
.codehaus
.groovy
.grails
.webflow
.engine
.builder
;
3 import org
.springframework
.webflow
.engine
.*
4 import org
.springframework
.webflow
.test
.execution
.*
5 import org
.springframework
.webflow
.definition
.*
6 import org
.springframework
.webflow
.execution
.ViewSelection
8 class FlowBuilderDecisionExecutionTests
extends AbstractFlowExecutionTests
{
11 ExpandoMetaClass
.enableGlobally()
15 ExpandoMetaClass
.disableGlobally()
18 def searchService
= [executeSearch
:{["foo", "bar"]}]
19 def params
= [q
:"foo"]
21 void testNoResultFlowExecution() {
22 grails
.util
.GrailsWebUtil
.bindMockWebRequest()
23 searchService
= [executeSearch
:{[]}]
25 ViewSelection viewSelection
= startFlow()
27 assertEquals
"displaySearchForm", viewSelection
.viewName
28 viewSelection
= signalEvent( "submit" )
30 assertEquals
"noResults", viewSelection
.viewName
33 void testSuccessFlowExecution() {
34 grails
.util
.GrailsWebUtil
.bindMockWebRequest()
35 searchService
= [executeSearch
:{["foo", "bar"]}]
37 def viewSelection
= startFlow()
39 assertEquals
"displaySearchForm", viewSelection
.viewName
40 viewSelection
= signalEvent( "submit" )
42 assertEquals
"displayResults", viewSelection
.viewName
43 assertEquals( ["foo", "bar"],viewSelection
.model
.results
)
48 FlowDefinition
getFlowDefinition() {
52 new FlowBuilder("myFlow").flow
{
54 on("submit").to
"executeSearch"
58 def r
= searchService
.executeSearch(params
.q
)
59 def result
= success(results
:r
)
62 on("success").to
"displayResults"
63 on("none").to
"noResults"
64 on("error").to
"displaySearchForm"