package org.jboss.seam.example.seamspace.test; import static org.junit.Assert.*; import java.util.Date; 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.core.Manager; import org.jboss.seam.mock.JUnitSeamTest; import org.jboss.shrinkwrap.api.Archive; import org.jboss.shrinkwrap.api.spec.EnterpriseArchive; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(Arquillian.class) public class RegisterTest extends JUnitSeamTest { @Deployment(name="RegisterTest") @OverProtocol("Servlet 3.0") public static Archive<?> createDeployment() { EnterpriseArchive er = Deployments.seamSpaceDeployment(); WebArchive web = er.getAsType(WebArchive.class, "seamspace-web.war"); web.addClasses(RegisterTest.class); return er; } @Test public void testRegister() throws Exception { String cid = new FacesRequest() { @Override protected void invokeApplication() throws Exception { assertNull(invokeAction("#{register.start}")); } }.run(); new FacesRequest("/register.xhtml", cid) { @Override protected void updateModelValues() throws Exception { setValue("#{register.member.email}", "shane@test.com"); setValue("#{register.member.firstName}", "Shane"); setValue("#{register.member.lastName}", "Bryzak"); setValue("#{register.member.memberName}", "shane123"); setValue("#{register.username}", "sbryzak"); setValue("#{register.password}", "secret"); setValue("#{register.confirm}", "secret"); setValue("#{register.gender}", "Male"); setValue("#{register.member.dob}", new Date(107100000000L)); } @Override protected void invokeApplication() throws Exception { assertNull(invokeAction("#{register.next}")); } }.run(); new FacesRequest("/register2.xhtml", cid) { @Override protected void invokeApplication() throws Exception { assertNull(invokeAction("#{register.uploadPicture}")); assertFalse(Manager.instance().isLongRunningConversation()); } }.run(); new FacesRequest() { @Override protected void invokeApplication() throws Exception { assertTrue((Boolean)getValue("#{identity.loggedIn}")); assertNull(invokeAction("#{identity.logout}")); assertFalse((Boolean)getValue("#{identity.loggedIn}")); } }.run(); } }