aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/test
diff options
context:
space:
mode:
authorAnna Koskinen <Ansku@users.noreply.github.com>2021-01-22 13:08:02 +0200
committerGitHub <noreply@github.com>2021-01-22 13:08:02 +0200
commitb4f011230fd5c9d56a0dd7ad7c00c584e25ee990 (patch)
treeec2f885c3cc2ea200b3405703b1ef9d3cbb8bb7c /uitest/src/test
parentf790ba970d49cfe5c50a3b28d099227af8fcc4a6 (diff)
downloadvaadin-framework-b4f011230fd5c9d56a0dd7ad7c00c584e25ee990.tar.gz
vaadin-framework-b4f011230fd5c9d56a0dd7ad7c00c584e25ee990.zip
DateField value should actively adjust to the set resolution. (#12183)7.7.23
Diffstat (limited to 'uitest/src/test')
-rw-r--r--uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldResolutionChangeTest.java50
-rw-r--r--uitest/src/test/java/com/vaadin/tests/components/datefield/DateTimeFieldResolutionChangeTest.java53
2 files changed, 103 insertions, 0 deletions
diff --git a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldResolutionChangeTest.java b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldResolutionChangeTest.java
new file mode 100644
index 0000000000..c2a6b8ad12
--- /dev/null
+++ b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateFieldResolutionChangeTest.java
@@ -0,0 +1,50 @@
+package com.vaadin.tests.components.datefield;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+import com.vaadin.testbench.elements.ButtonElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class DateFieldResolutionChangeTest extends MultiBrowserTest {
+
+ @Test
+ public void testValueAndResolutionChange() {
+ openTestURL();
+
+ // set a fixed date
+ $(ButtonElement.class).caption("set").first().click();
+
+ // both fields should trigger a value change event but for MonthField
+ // the day value should be truncated to default
+ assertEquals("Unexpected log row", "1. MonthField set value 2021-02-14",
+ getLogRow(3));
+ assertEquals("Unexpected log row",
+ "2. MonthField value change event: 2021-02-01", getLogRow(2));
+ assertEquals("Unexpected log row", "3. DayField set value 2021-02-14",
+ getLogRow(1));
+ assertEquals("Unexpected log row",
+ "4. DayField value change event: 2021-02-14", getLogRow(0));
+
+ // change both to day resolution
+ $(ButtonElement.class).caption("day").first().click();
+
+ // DayField shouldn't react, MonthField should check that the value
+ // matches resolution but not trigger a ValueChangeEvent
+ assertEquals("Unexpected log row", "5. MonthField set value 2021-02-01",
+ getLogRow(0));
+
+ // change both to month resolution
+ $(ButtonElement.class).caption("month").first().click();
+
+ // both fields should check that the value matches resolution but only
+ // DayField should trigger a ValueChangeEvent
+ assertEquals("Unexpected log row", "6. MonthField set value 2021-02-01",
+ getLogRow(2));
+ assertEquals("Unexpected log row", "7. DayField set value 2021-02-01",
+ getLogRow(1));
+ assertEquals("Unexpected log row",
+ "8. DayField value change event: 2021-02-01", getLogRow(0));
+ }
+}
diff --git a/uitest/src/test/java/com/vaadin/tests/components/datefield/DateTimeFieldResolutionChangeTest.java b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateTimeFieldResolutionChangeTest.java
new file mode 100644
index 0000000000..4fdd0a5ae9
--- /dev/null
+++ b/uitest/src/test/java/com/vaadin/tests/components/datefield/DateTimeFieldResolutionChangeTest.java
@@ -0,0 +1,53 @@
+package com.vaadin.tests.components.datefield;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+import com.vaadin.testbench.elements.ButtonElement;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class DateTimeFieldResolutionChangeTest extends MultiBrowserTest {
+
+ @Test
+ public void testValueAndResolutionChange() {
+ openTestURL();
+
+ // set a fixed date
+ $(ButtonElement.class).caption("set").first().click();
+
+ // both fields should trigger a value change event but the value should
+ // be truncated according to each field's resolution
+ assertEquals("Unexpected log row",
+ "1. MonthField set value 2021-02-14 16:17:00", getLogRow(3));
+ assertEquals("Unexpected log row",
+ "2. MonthField value change event: 2021-02-01 00:00:00",
+ getLogRow(2));
+ assertEquals("Unexpected log row",
+ "3. DayField set value 2021-02-14 16:17:00", getLogRow(1));
+ assertEquals("Unexpected log row",
+ "4. DayField value change event: 2021-02-14 00:00:00",
+ getLogRow(0));
+
+ // change both to day resolution
+ $(ButtonElement.class).caption("day").first().click();
+
+ // DayField shouldn't react, MonthField should check that the value
+ // matches resolution but not trigger a ValueChangeEvent
+ assertEquals("Unexpected log row",
+ "5. MonthField set value 2021-02-01 00:00:00", getLogRow(0));
+
+ // change both to month resolution
+ $(ButtonElement.class).caption("month").first().click();
+
+ // both fields should check that the value matches resolution but only
+ // DayField should trigger a ValueChangeEvent
+ assertEquals("Unexpected log row",
+ "6. MonthField set value 2021-02-01 00:00:00", getLogRow(2));
+ assertEquals("Unexpected log row",
+ "7. DayField set value 2021-02-01 00:00:00", getLogRow(1));
+ assertEquals("Unexpected log row",
+ "8. DayField value change event: 2021-02-01 00:00:00",
+ getLogRow(0));
+ }
+}