1 package org
.codehaus
.groovy
.grails
.webflow
.engine
.builder
3 import org
.codehaus
.groovy
.grails
.commons
.DefaultGrailsApplication
4 import org
.springframework
.webflow
.definition
.registry
.FlowDefinitionRegistry
5 import org
.codehaus
.groovy
.grails
.support
.MockApplicationContext
8 * Tests for the ControllerFlowRegistry class
10 * @author Graeme Rocher
13 * Created: Jul 3, 2007
18 class ControllerFlowRegistryTests
extends GroovyTestCase
{
20 def gcl
= new GroovyClassLoader()
25 def searchService = [executeSearch: { ['book
'] }]
26 def shoppingCartFlow = {
27 enterPersonalDetails {
28 on("submit").to "enterShipping"
31 on("back").to "enterPersonDetails"
32 on("submit").to "enterPayment"
35 on("back").to "enterShipping"
36 on("submit").to "confirmPurchase"
39 on("confirm").to "processPurchaseOrder"
41 processPurchaseOrder {
43 println "processing purchase order"
46 on("error").to "confirmPurchase"
47 on(Exception).to "confirmPurchase"
48 on("success").to "displayInvoice"
60 void testFlowRegsitry() {
61 def ga
= new DefaultGrailsApplication(gcl
.loadedClasses
, gcl
)
64 assertEquals
1, ga
.controllerClasses
.size()
66 ControllerFlowRegistry factoryBean
= new ControllerFlowRegistry()
67 factoryBean
.grailsApplication
= ga
68 factoryBean
.beanFactory
= new MockApplicationContext()
69 factoryBean
.afterPropertiesSet()
71 FlowDefinitionRegistry registry
= factoryBean
.getObject()
74 assertEquals
1,registry
.getFlowDefinitionCount()
75 def cartFlow
= registry
.getFlowDefinition("shoppingCart")
77 assertEquals
6,cartFlow
.stateCount