package org.jboss.portletbridge.it.component.f.passThrough;
import category.Jsf22Only;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.container.test.api.RunAsClient;
import org.jboss.arquillian.drone.api.annotation.Drone;
import org.jboss.arquillian.graphene.findby.FindByJQuery;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.arquillian.portal.api.PortalTest;
import org.jboss.arquillian.portal.api.PortalURL;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.portletbridge.it.AbstractPortletTest;
import org.jboss.portletbridge.it.component.f.viewParam.ViewParamBean;
import org.jboss.shrinkwrap.portal.api.PortletArchive;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.portletbridge.arquillian.deployment.TestDeployment;
import java.net.URL;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
/**
* @author <a href="http://community.jboss.org/people/kenfinni">Ken Finnigan</a>
*/
@RunWith(Arquillian.class)
@Category(Jsf22Only.class)
@PortalTest
public class PassThroughTest extends AbstractPortletTest {
@Deployment
public static PortletArchive createDeployment() {
TestDeployment deployment = new TestDeployment(PassThroughTest.class, true);
deployment.archive()
.createFacesPortlet("PassThrough", "Pass Through Portlet", "home.xhtml")
.addAsWebResource("pages/component/f/passThrough/home.xhtml", "home.xhtml")
.addClass(ViewParamBean.class);
return deployment.getFinalArchive();
}
@ArquillianResource
@PortalURL
URL portalURL;
@Drone
WebDriver browser;
@Override
protected WebDriver getBrowser() {
return browser;
}
@FindByJQuery("[id$=':input1']")
private WebElement input1;
@FindByJQuery("[id$=':input2']")
private WebElement input2;
@Test
@RunAsClient
public void testInlinePassThrough() throws Exception {
browser.get(portalURL.toString());
assertTrue("Page does not contain h:inputText for input1.", input1.isDisplayed());
assertEquals("Placeholder text does not match for input1.", "Input Help 1", input1.getAttribute("placeholder"));
}
@Test
@RunAsClient
public void testChildTagPassThrough() throws Exception {
browser.get(portalURL.toString());
assertTrue("Page does not contain h:inputText for input2.", input2.isDisplayed());
assertEquals("Placeholder text does not match for input2.", "Input Help 2", input2.getAttribute("placeholder"));
}
}