From cbd21394c393cc090edfcd9fd0b9842060539bf4 Mon Sep 17 00:00:00 2001 From: Keith Donald Date: Mon, 31 Mar 2008 22:50:48 +0000 Subject: [PATCH] start of tests --- .../booking/MainFlowExecutionTests.java | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 spring-webflow-samples/booking-faces/src/test/java/org/springframework/webflow/samples/booking/MainFlowExecutionTests.java diff --git a/spring-webflow-samples/booking-faces/src/test/java/org/springframework/webflow/samples/booking/MainFlowExecutionTests.java b/spring-webflow-samples/booking-faces/src/test/java/org/springframework/webflow/samples/booking/MainFlowExecutionTests.java new file mode 100644 index 00000000..c8a4392a --- /dev/null +++ b/spring-webflow-samples/booking-faces/src/test/java/org/springframework/webflow/samples/booking/MainFlowExecutionTests.java @@ -0,0 +1,72 @@ +package org.springframework.webflow.samples.booking; + +import java.util.ArrayList; +import java.util.List; + +import javax.faces.model.DataModel; + +import org.easymock.EasyMock; +import org.springframework.faces.model.converter.FacesConversionService; +import org.springframework.webflow.config.FlowDefinitionResource; +import org.springframework.webflow.config.FlowDefinitionResourceFactory; +import org.springframework.webflow.test.MockExternalContext; +import org.springframework.webflow.test.MockFlowBuilderContext; +import org.springframework.webflow.test.execution.AbstractXmlFlowExecutionTests; + +public class MainFlowExecutionTests extends AbstractXmlFlowExecutionTests { + + private BookingService bookingService; + + protected void setUp() { + bookingService = EasyMock.createMock(BookingService.class); + } + + @Override + protected FlowDefinitionResource getResource(FlowDefinitionResourceFactory resourceFactory) { + return resourceFactory.createFileResource("src/main/webapp/WEB-INF/flows/main/main.xml"); + } + + @Override + protected void configureFlowBuilderContext(MockFlowBuilderContext builderContext) { + builderContext.registerBean("bookingService", bookingService); + builderContext.getFlowBuilderServices().setConversionService(new FacesConversionService()); + } + + public void testStart() { + List bookings = new ArrayList(); + bookings.add(new Booking(new Hotel(), new User("keith", "password", "Keith Donald"))); + EasyMock.expect(bookingService.findBookings("keith")).andReturn(bookings); + EasyMock.replay(bookingService); + + MockExternalContext context = new MockExternalContext(); + context.setCurrentUser("keith"); + startFlow(context); + assertCurrentStateEquals("enterSearchCriteria"); + assertTrue(getRequiredFlowAttribute("searchCriteria") instanceof SearchCriteria); + assertTrue(getRequiredViewAttribute("bookings") instanceof DataModel); + + EasyMock.verify(bookingService); + } + + // public void testSearch() { + // setCurrentState("enterSearchCriteria"); + // SearchCriteria criteria = new SearchCriteria(); + // criteria.setSearchString("Jameson"); + // getFlowScope().put("searchCriteria", criteria); + // + // List hotels = new ArrayList(); + // hotels.add(new Hotel()); + // EasyMock.expect(bookingService.findHotels(criteria)).andReturn(hotels); + // EasyMock.replay(bookingService); + // + // MockExternalContext context = new MockExternalContext(); + // context.setEventId("search"); + // resumeFlow(context); + // + // EasyMock.verify(bookingService); + // + // assertCurrentStateEquals("reviewHotels"); + // assertTrue(getRequiredViewAttribute("hotels") instanceof DataModel); + // } + +}