use of com.haulmont.cuba.core.model.common.User in project jmix by jmix-framework.
the class DateFieldDsTest method testValueChangeListener.
@Test
public void testValueChangeListener() {
DateField dateField = uiComponents.create(DateField.NAME);
Datasource<User> userDs = createTestDatasource(User.class);
User user = userDs.getItem();
user.setUpdateTs(new Date());
// listener before datasource
Boolean[] valueWasChanged = { false };
Consumer<HasValue.ValueChangeEvent> listener = e -> valueWasChanged[0] = true;
Subscription subscription = dateField.addValueChangeListener(listener);
dateField.setDatasource(userDs, "updateTs");
assertEquals(true, valueWasChanged[0]);
// reset state
dateField.setDatasource(null, null);
subscription.remove();
valueWasChanged[0] = false;
// datasource before listener
dateField.setDatasource(userDs, "updateTs");
dateField.addValueChangeListener(listener);
user.setUpdateTs(new Date());
assertEquals(true, valueWasChanged[0]);
}
use of com.haulmont.cuba.core.model.common.User in project jmix by jmix-framework.
the class DateFieldDsTest method testDatasourceRepeatableAssign.
@Test
public void testDatasourceRepeatableAssign() {
DateField dateField = uiComponents.create(DateField.NAME);
dateField.setDatasource(null, null);
dateField.setDatasource(null, null);
Datasource<User> userDs1 = createTestDatasource(User.class);
dateField.setDatasource(userDs1, "updateTs");
dateField.setDatasource(userDs1, "updateTs");
boolean exceptionWasThrown = false;
/*try { todo web tests
dateField.setDatasource(userDs1, null);
} catch (Exception e) {
exceptionWasThrown = true;
}
assertTrue(exceptionWasThrown);
exceptionWasThrown = false;*/
try {
dateField.setDatasource(null, "updateTs");
} catch (Exception e) {
exceptionWasThrown = true;
}
assertTrue(exceptionWasThrown);
Date updateTs = new Date();
userDs1.getItem().setUpdateTs(updateTs);
dateField.setDatasource(userDs1, "updateTs");
Datasource<User> userDs2 = createTestDatasource(User.class);
dateField.setDatasource(userDs2, "updateTs");
dateField.setValue(new Date());
assertEquals(updateTs, userDs1.getItem().getUpdateTs());
}
use of com.haulmont.cuba.core.model.common.User in project jmix by jmix-framework.
the class DatePickerDsTest method testUnsubscribeDsListener.
@Test
public void testUnsubscribeDsListener() {
DatePicker datePicker = uiComponents.create(DatePicker.NAME);
Datasource<User> userDs = createTestDatasource(User.class);
User user = userDs.getItem();
Date updateTs = new Date();
user.setUpdateTs(updateTs);
datePicker.setDatasource(userDs, "updateTs");
// unbind
datePicker.setDatasource(null, null);
Datasource.ItemPropertyChangeListener<User> propertyChangeListener = e -> {
throw new RuntimeException("Value was changed externally");
};
userDs.addItemPropertyChangeListener(propertyChangeListener);
datePicker.setValue(new Date());
assertEquals(updateTs, user.getUpdateTs());
}
use of com.haulmont.cuba.core.model.common.User in project jmix by jmix-framework.
the class DatePickerDsTest method testUnsubscribeSubscribeComponentListener.
@Test
public void testUnsubscribeSubscribeComponentListener() {
DatePicker datePicker = uiComponents.create(DatePicker.NAME);
Datasource<User> userDs = createTestDatasource(User.class);
User user = userDs.getItem();
Date updateTs = new Date();
user.setUpdateTs(updateTs);
datePicker.setDatasource(userDs, "updateTs");
// unbind
datePicker.setDatasource(null, null);
// datasource before listener
datePicker.setDatasource(userDs, "updateTs");
assertEquals(updateTs, datePicker.getValue());
boolean[] valueWasChanged = { false };
Consumer<HasValue.ValueChangeEvent> listener = e -> valueWasChanged[0] = true;
Subscription subscription = datePicker.addValueChangeListener(listener);
Date updateTs2 = new Date();
user.setUpdateTs(updateTs2);
assertTrue(valueWasChanged[0]);
assertEquals(updateTs2, datePicker.getValue());
// reset state
subscription.remove();
datePicker.setDatasource(null, null);
valueWasChanged[0] = false;
datePicker.setValue(updateTs);
// listener before datasource
datePicker.addValueChangeListener(listener);
datePicker.setDatasource(userDs, "updateTs");
assertTrue(valueWasChanged[0]);
assertEquals(updateTs2, datePicker.getValue());
}
use of com.haulmont.cuba.core.model.common.User in project jmix by jmix-framework.
the class DatePickerDsTest method testValueChangeListener.
@Test
public void testValueChangeListener() {
DatePicker datePicker = uiComponents.create(DatePicker.NAME);
Datasource<User> userDs = createTestDatasource(User.class);
User user = userDs.getItem();
user.setUpdateTs(new Date());
// listener before datasource
Boolean[] valueWasChanged = { false };
Consumer<HasValue.ValueChangeEvent> listener = e -> valueWasChanged[0] = true;
Subscription subscription = datePicker.addValueChangeListener(listener);
datePicker.setDatasource(userDs, "updateTs");
assertEquals(true, valueWasChanged[0]);
// reset state
datePicker.setDatasource(null, null);
subscription.remove();
valueWasChanged[0] = false;
// datasource before listener
datePicker.setDatasource(userDs, "updateTs");
datePicker.addValueChangeListener(listener);
user.setUpdateTs(new Date());
assertEquals(true, valueWasChanged[0]);
}
Aggregations