diff options
Diffstat (limited to 'uitest/src')
-rw-r--r-- | uitest/src/com/vaadin/tests/components/checkbox/CheckBoxNullValueTest.java | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/checkbox/CheckBoxNullValueTest.java b/uitest/src/com/vaadin/tests/components/checkbox/CheckBoxNullValueTest.java new file mode 100644 index 0000000000..63e5c3f080 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/checkbox/CheckBoxNullValueTest.java @@ -0,0 +1,64 @@ +package com.vaadin.tests.components.checkbox; + +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; +import org.openqa.selenium.WebElement; + +import com.vaadin.testbench.By; +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.testbench.elements.CheckBoxElement; +import com.vaadin.tests.tb3.MultiBrowserTest; + +public class CheckBoxNullValueTest extends MultiBrowserTest { + @Test + public void testValidation() throws Exception { + openTestURL(); + CheckBoxElement checkbox = $(CheckBoxElement.class).first(); + CheckBoxElement requiredCheckbox = $(CheckBoxElement.class).caption( + "A required checkbox").first(); + + assertValid(checkbox, true); + assertValid(requiredCheckbox, true); + ButtonElement validate = $(ButtonElement.class).caption("Validate") + .first(); + validate.click(); + + assertValid(checkbox, true); + assertValid(requiredCheckbox, false); + + click(checkbox); + click(requiredCheckbox); + validate.click(); + + assertValid(checkbox, true); + assertValid(requiredCheckbox, true); + + click(checkbox); + click(requiredCheckbox); + validate.click(); + assertValid(checkbox, true); + assertValid(requiredCheckbox, false); + + } + + private void click(CheckBoxElement checkbox) { + checkbox.findElement(By.xpath("input")).click(); + + } + + private void assertValid(CheckBoxElement checkbox, boolean valid) { + boolean hasIndicator = false; + List<WebElement> e = checkbox.findElements(By + .className("v-errorindicator")); + if (e.size() != 0) { + hasIndicator = e.get(0).isDisplayed(); + } + + Assert.assertEquals("Checkbox state should be " + + (valid ? "valid" : "invalid"), valid, !hasIndicator); + + } + +} |