//$Id: MessageListTest.java 2383 2006-10-26 18:53:00Z gavin $ package org.jboss.seam.example.messages.test; import javax.faces.model.DataModel; import java.io.File; import org.jboss.shrinkwrap.api.Archive; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.importer.ZipImporter; import org.jboss.shrinkwrap.api.spec.EnterpriseArchive; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.OverProtocol; import org.jboss.arquillian.junit.Arquillian; import org.jboss.seam.mock.JUnitSeamTest; import org.junit.runner.RunWith; import org.junit.Test; @RunWith(Arquillian.class) public class MessageListTest extends JUnitSeamTest { @Deployment(name="MessageListTest") @OverProtocol("Servlet 3.0") public static Archive<?> createDeployment() { EnterpriseArchive er = ShrinkWrap.create(ZipImporter.class, "seam-messages.ear").importFrom(new File("../messages-ear/target/seam-messages.ear")) .as(EnterpriseArchive.class); WebArchive web = er.getAsType(WebArchive.class, "messages-web.war"); web.addClasses(MessageListTest.class); // Install org.jboss.seam.mock.MockSeamListener web.delete("/WEB-INF/web.xml"); web.addAsWebInfResource("web.xml"); return er; } @Test public void testMessageList() throws Exception { new NonFacesRequest() { @Override protected void renderResponse() throws Exception { DataModel list = (DataModel) getInstance("messageList"); assert list.getRowCount()==2; } }.run(); new FacesRequest() { @Override protected void updateModelValues() throws Exception { DataModel list = (DataModel) getInstance("messageList"); assert list.getRowCount()==2; list.setRowIndex(1); } @Override protected void invokeApplication() throws Exception { invokeMethod("#{messageManager.select}"); } @Override protected void renderResponse() throws Exception { DataModel list = (DataModel) getInstance("messageList"); assert list.getRowCount()==2; assert getValue("#{message.title}").equals("Hello World"); assert getValue("#{message.read}").equals(true); } }.run(); new FacesRequest() { @Override protected void updateModelValues() throws Exception { DataModel list = (DataModel) getInstance("messageList"); assert list.getRowCount()==2; list.setRowIndex(0); } @Override protected void invokeApplication() throws Exception { invokeMethod("#{messageManager.delete}"); } @Override protected void renderResponse() throws Exception { DataModel list = (DataModel) getInstance("messageList"); assert list.getRowCount()==1; } }.run(); new NonFacesRequest() { @Override protected void renderResponse() throws Exception { DataModel list = (DataModel) getInstance("messageList"); assert list.getRowCount()==1; } }.run(); } }