package org.springframework.webflow.action;
import junit.framework.TestCase;
import org.springframework.binding.expression.Expression;
import org.springframework.binding.expression.support.StaticExpression;
import org.springframework.webflow.test.MockRequestContext;
public class FlowDefinitionRedirectActionTests extends TestCase {
private FlowDefinitionRedirectAction action;
public void testExecute() throws Exception {
Expression flowId = new StaticExpression("user?foo=bar");
action = new FlowDefinitionRedirectAction(flowId);
MockRequestContext context = new MockRequestContext();
action.execute(context);
assertEquals("user", context.getMockExternalContext().getFlowRedirectFlowId());
assertEquals("bar", context.getMockExternalContext().getFlowRedirectFlowInput().get("foo"));
}
public void testExecuteWithNullRequestFields() throws Exception {
Expression flowId = new StaticExpression("user");
action = new FlowDefinitionRedirectAction(flowId);
MockRequestContext context = new MockRequestContext();
action.execute(context);
assertEquals("user", context.getMockExternalContext().getFlowRedirectFlowId());
}
public void testExecuteWithNullFlowId() throws Exception {
try {
action = new FlowDefinitionRedirectAction(null);
fail("Should have failed");
} catch (IllegalArgumentException e) {
}
}
}