package org.richfaces.component;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertNotNull;
import java.io.IOException;
import org.junit.Test;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlInput;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
/**
* Test for dynamic add/remove {@link UIScripts} as view resource.
*
* @author asmirnov
*
*/
public class GraphValidationTest extends IntegrationTestBase {
protected String getFacesConfig() {
return "graph-faces-config.xml";
}
protected String getPageName() {
return "graph-test";
}
@Test
public void testRequest() throws Exception {
HtmlPage page = requestPage();
HtmlInput input = getInput(page);
assertNotNull(input);
}
@Override
protected HtmlPage submit(HtmlPage page) throws IOException {
HtmlElement submit = (HtmlElement) page.getElementById("form:submit");
return submit.click();
}
@Test
public void testSubmitTooShortValue() throws Exception {
HtmlPage page = submitValueAndCheckMessage("", containsString(GraphBean.SHORT_MSG));
checkMessage(page, "textMessage", containsString(GraphBean.SHORT_MSG));
checkMessage(page, "graphMessage", equalTo(""));
}
@Test
public void testBeanLevelConstrain() throws Exception {
HtmlPage page = submitValueAndCheckMessage("bar", equalTo(GraphBean.FOO_MSG));
checkMessage(page, "graphMessage", containsString(GraphBean.FOO_MSG));
checkMessage(page, "textMessage", equalTo(""));
}
@Test
public void testCorrectValue() throws Exception {
submitValueAndCheckMessage("foobar", equalTo(""));
}
}