/** * Toggles the visibility of user and password fields. The fields are shown * if "authenticate" checkbox is presssed. Otherwise they are not shown. */ private void updateAuthenticationFields(boolean visible) throws Property.ReadOnlyException, Converter.ConversionException { ((Field<Boolean>) configFieldGroup.getField(MetaConfigModel.AUTHENTICATE)).setValue(visible); configFieldGroup.getField(MetaConfigModel.USER).setVisible(visible); configFieldGroup.getField(MetaConfigModel.PASSWORD).setVisible(visible); if (!visible) { configFieldGroup.getField(MetaConfigModel.USER).setValue(null); configFieldGroup.getField(MetaConfigModel.PASSWORD).setValue(null); } }
@Test public void linkFieldWithContentPreviewDoesNotFailWhenChangingToNull() throws Exception { // GIVEN ContentPreviewDefinition contentPreviewDefinition = mock(ContentPreviewDefinition.class); doReturn(DummyContentPreviewComponent.class).when(contentPreviewDefinition).getContentPreviewClass(); definition.setContentPreviewDefinition(contentPreviewDefinition); baseNode.setProperty(propertyName, "nonEmptyValue"); setFactory(null); Field<String> field = linkFieldFactory.createField(); // WHEN field.setValue(null); // THEN // no runtime exception. }
@Test public void simpleDateFieldTest_ChangedValue() throws Exception { // GIVEN Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, 2); cal.set(Calendar.MONTH, 2); cal.set(Calendar.YEAR, 2012); baseNode.setProperty(propertyName, cal); baseItem = new JcrNodeAdapter(baseNode); dialogDate = new DateFieldFactory(definition, baseItem, uiContext, i18NAuthoringSupport, simpleTranslator, context); dialogDate.setComponentProvider(componentProvider); Calendar calNew = Calendar.getInstance(); calNew.set(Calendar.DAY_OF_MONTH, 20); calNew.set(Calendar.MONTH, 2); calNew.set(Calendar.YEAR, 2010); // WHEN Field field = dialogDate.createField(); field.setValue(calNew.getTime()); // THEN assertThat(field, instanceOf(PopupDateField.class)); assertEquals("yyyy-MM-dd", ((PopupDateField) field).getDateFormat()); SimpleDateFormat sdf = new SimpleDateFormat(((PopupDateField) field).getDateFormat()); assertEquals("2010-03-20", sdf.format(field.getValue())); }
@Test public void i18nPropertyNotDefined_CurrentIsDefault() throws Exception { // GIVEN initBuilder(); Field<Object> field = fieldFactory.createField(); field.setValue("new Value"); // WHEN Node res = ((JcrNodeAdapter) baseItem).applyChanges(); // THEN assertEquals(true, res.hasProperty(propertyName)); }
((Field<String>) eachField).setValue((String) property.getValue());
@Test public void linkFieldRequired() throws Exception { // GIVEN definition.setRequired(true); baseNode.setProperty(propertyName, "notChanged"); setFactory(null); Field<String> field = linkFieldFactory.createField(); assertThat("notChanged", is(((LinkField) field).getTextField().getValue())); // WHEN field.setValue(null); ErrorMessage errorMessage = ((LinkField) field).getErrorMessage(); // THEN assertThat(errorMessage, is(notNullValue())); }
@Test public void i18nPropertyDefined_CurrentIsDefault() throws Exception { // GIVEN this.definition.setI18n(true); initBuilder(); Field<Object> field = fieldFactory.createField(); field.setValue("new Value"); // WHEN Node res = ((JcrNodeAdapter) baseItem).applyChanges(); // THEN assertEquals(true, res.hasProperty(propertyName)); }
@Test @Ignore("See http://dev.vaadin.com/ticket/10663") public void multiSelectTwinColFieldTest() throws Exception { // GIVEN definition.setMultiselect(true); twinSelect = new TwinColSelectFieldFactory(definition, baseItem, null, null, new MockComponentProvider()); Field field = twinSelect.createField(); // WHEN ArrayList<String> selected = new ArrayList<>(); selected.add("1"); selected.add("3"); field.setValue(selected); // THEN assertEquals(2, ((Collection) field.getValue()).toArray().length); assertEquals("1", ((Collection) field.getValue()).toArray()[0]); assertEquals("3", ((Collection) field.getValue()).toArray()[1]); }
@Test public void linkFieldUsesValidator() throws Exception { // GIVEN baseNode.setProperty(propertyName, "notChanged"); FieldValidatorFactoryFactory validatorFactory = mock(FieldValidatorFactoryFactory.class); RegexpValidatorDefinition regexpValidator = new RegexpValidatorDefinition(); regexpValidator.setPattern("/demo-project(.*)"); regexpValidator.setErrorMessage("error {}"); RegexpFieldValidatorFactory regExpValidator = new RegexpFieldValidatorFactory(regexpValidator); when(validatorFactory.createFieldValidatorFactory(regexpValidator, baseItem)).thenReturn(regExpValidator); definition.setValidators(Lists.newArrayList((FieldValidatorDefinition) regexpValidator)); definition.setRequired(true); setFactory(validatorFactory); Field<String> field = linkFieldFactory.createField(); assertThat("notChanged", is(((LinkField) field).getTextField().getValue())); // WHEN field.setValue("someValue"); ErrorMessage errorMessage = ((LinkField) field).getErrorMessage(); // THEN assertThat(errorMessage, is(notNullValue())); }
@Test public void i18nPropertyNotDefined_CurrentIsNotDefault() throws Exception { // GIVEN MgnlContext.getInstance().setLocale(Locale.FRENCH); initBuilder(); Field<Object> field = fieldFactory.createField(); field.setValue("new Value"); // WHEN Node res = ((JcrNodeAdapter) baseItem).applyChanges(); // THEN // Should not be sufixed by _fr --> setI18n(false) assertEquals(true, res.hasProperty(propertyName)); }
@Test @Ignore("See http://dev.vaadin.com/ticket/10663") public void multiSelectTwinColField_ItemResult_Test() throws Exception { // GIVEN definition.setMultiselect(true); twinSelect = new TwinColSelectFieldFactory(definition, baseItem, null, null, new MockComponentProvider()); Field field = twinSelect.createField(); // WHEN ArrayList<String> selected = new ArrayList<>(); selected.add("1"); selected.add("3"); field.setValue(selected); // THEN Property res = baseItem.getItemProperty("propertyName"); ; assertEquals(2, ((LinkedHashSet<String>) res.getValue()).size()); assertEquals("1", ((LinkedHashSet<String>) res.getValue()).toArray()[0]); assertEquals("3", ((LinkedHashSet<String>) res.getValue()).toArray()[1]); }
@Test public void testConversionOfPropertyTypeWithDouble() throws Exception { // GIVEN // Set property Type definition.setType("Double"); fieldFactory = new TestTextFieldFactory(definition, baseItem, null, i18NAuthoringSupport); fieldFactory.setComponentProvider(this.componentProvider); Field<Object> field = fieldFactory.createField(); // WHEN field.setValue("21.98"); // THEN Node res = ((JcrNodeAdapter) baseItem).applyChanges(); assertEquals(true, res.hasProperty(propertyName)); assertEquals(PropertyType.DOUBLE, res.getProperty(propertyName).getType()); assertEquals(Double.parseDouble("21.98"), res.getProperty(propertyName).getDouble(), 0); Property p = baseItem.getItemProperty(propertyName); assertEquals("21.98", p.getValue().toString()); assertEquals(Double.class, p.getValue().getClass()); }
@Test public void testPropertyValueChangeWithSaveInfoTrue() throws Exception { // GIVEN baseNode.setProperty(propertyName, "value"); baseItem = new JcrNodeAdapter(baseNode); // Set do not change definition.setReadOnly(false); fieldFactory = new TestTextFieldFactory(definition, baseItem, null, i18NAuthoringSupport); fieldFactory.setComponentProvider(this.componentProvider); Field<Object> field = fieldFactory.createField(); // WHEN field.setValue("new Value"); // THEN Node res = ((JcrNodeAdapter) baseItem).applyChanges(); assertEquals(true, res.hasProperty(propertyName)); assertEquals("new Value", res.getProperty(propertyName).getString()); Property p = baseItem.getItemProperty(propertyName); assertEquals("new Value", p.getValue()); }
@Test public void changePropertyValueTest() throws Exception { // GIVEN fieldFactory = new TestTextFieldFactory(definition, baseItem, null, i18NAuthoringSupport); fieldFactory.setComponentProvider(this.componentProvider); Field<Object> field = fieldFactory.createField(); // WHEN field.setValue("new Value"); // THEN Node res = ((JcrNodeAdapter) baseItem).applyChanges(); assertEquals(true, res.hasProperty(propertyName)); assertEquals("new Value", res.getProperty(propertyName).getString()); assertEquals(PropertyType.STRING, res.getProperty(propertyName).getType()); Property p = baseItem.getItemProperty(propertyName); assertEquals(field.getPropertyDataSource().getValue(), p.getValue()); assertEquals("new Value", p.getValue()); assertEquals(String.class, p.getValue().getClass()); }
@Test public void linkFieldRequiredWithConverter() throws Exception { // GIVEN definition.setIdentifierToPathConverter(new BaseIdentifierToPathConverter()); definition.setTargetWorkspace(workspaceName); definition.setRequired(true); baseNode.setProperty(propertyName, baseNode.getIdentifier()); setFactory(null); Field<String> field = linkFieldFactory.createField(); // WHEN field.setValue(null); ErrorMessage errorMessage = ((LinkField) field).getErrorMessage(); // THEN assertNotNull(errorMessage); }
@Test public void createDecimalTextField() { // GIVEN definition.setType("Decimal"); dialogEdit = new TextFieldFactory(definition, baseItem, uiContext, i18NAuthoringSupport); dialogEdit.setComponentProvider(componentProvider); // WHEN Field<String> field = dialogEdit.createField(); ((AbstractField) field).setLocale(Locale.ENGLISH); field.setValue("1115.37567657"); // THEN assertEquals("1,115.37567657", field.getValue()); }
@Test public void createDoubleTextField() { // GIVEN definition.setType("Double"); dialogEdit = new TextFieldFactory(definition, baseItem, uiContext, i18NAuthoringSupport); dialogEdit.setComponentProvider(componentProvider); // WHEN Field<String> field = dialogEdit.createField(); ((AbstractField) field).setLocale(Locale.ENGLISH); field.setValue("123.456789"); // THEN assertEquals("123.456789", field.getValue()); }
@Test public void createCodeFieldChangeValue() { // GIVEN baseItem.addItemProperty(propertyName, new ObjectProperty<>("private String s", String.class)); Field<String> field = factory.createField(); assertEquals("private String s", field.getValue()); // WHEN field.setValue("new Value"); // THEN assertEquals("new Value", baseItem.getItemProperty(propertyName).getValue()); }