summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java b/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java
index f36a357617..e0b8330ccc 100644
--- a/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java
+++ b/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java
@@ -66,6 +66,11 @@ public class BinderBookOfVaadinTest {
title = origin.title;
}
+ public BookPerson(String name, int yearOfBirth) {
+ lastName = name;
+ this.yearOfBirth = yearOfBirth;
+ }
+
public String getLastName() {
return lastName;
}
@@ -849,6 +854,31 @@ public class BinderBookOfVaadinTest {
Assert.assertFalse(saveButton.isEnabled());
}
+ @Test
+ public void writeBean_throwsValidationException_bookExampleShouldCompile() {
+ // The person to edit
+ // Would be loaded from the backend in a real application
+ BookPerson person = new BookPerson("John Doe", 1957);
+
+ // Updates the value in each bound field component
+ binder.readBean(person);
+
+ Button saveButton = new Button("Save", event -> {
+ try {
+ binder.writeBean(person);
+ // A real application would also save the updated person
+ // using the application's backend
+ } catch (ValidationException e) {
+ Notification.show("Person could not be saved, "
+ + "please check error messages for each field.");
+ }
+ });
+
+ // Updates the fields again with the previously saved values
+ Button resetButton = new Button("Reset",
+ event -> binder.readBean(person));
+ }
+
private void verifyEventIsFired(AtomicBoolean flag) {
Assert.assertTrue(flag.get());
flag.set(false);