package org.jboss.test.faces.mock.component; import static org.junit.Assert.*; import javax.faces.component.UIComponent; import javax.faces.component.UIInput; import javax.faces.component.UIViewRoot; import org.jboss.test.faces.mock.FacesMock; import org.junit.Test; public class ViewBuilderTest { private static final String FOO_XML = "/foo.xml"; @Test public void testCreateView() { UIViewRoot component = ViewBuilder.createView().setViewId(FOO_XML).getComponent(); assertTrue(component instanceof MockUIViewRoot); checkViewId(component); } private void checkViewId(UIViewRoot component) { FacesMock.replay(component); assertEquals(FOO_XML, component.getViewId()); FacesMock.verify(component); } @Test public void testCreateViewUIViewRoot() { UIViewRoot viewRoot = FacesMock.createMock(UIViewRoot.class); ViewBuilder viewBuilder = ViewBuilder.createView(viewRoot).setViewId(FOO_XML); assertSame(viewRoot,viewBuilder.getComponent()); checkViewId(viewRoot); } @Test public void testBuildView() throws Exception { ViewBuilder viewBuilder = ViewBuilder.createView().children( ViewBuilder.component().id("foo"), ViewBuilder.component(UIInput.class).id("input") ).facets( ViewBuilder.facet("header") ).setViewId(FOO_XML); viewBuilder.replay(); UIViewRoot viewRoot = viewBuilder.getComponent(); assertEquals(2, viewRoot.getChildCount()); assertEquals(1, viewRoot.getFacetCount()); UIComponent facet = viewRoot.getFacet("header"); assertNotNull(facet); assertSame(viewRoot,facet.getParent()); assertSame(viewRoot,viewRoot.getChildren().get(1).getParent()); viewBuilder.verify(); } }