コード例 #1
0
  @Test
  @DiagramResource(
      "org/camunda/bpm/modeler/test/ui/change/FormFieldEditAndRemoveChangeSupportTest.bpmn")
  public void testFormFieldValidationElementRemove() {
    final UserTask userTask = findBusinessObjectById(diagram, "UserTask_1", UserTask.class);

    List<FormDataType> formDataTypeList = ExtensionUtil.getExtensions(userTask, FormDataType.class);
    assertThat(formDataTypeList).hasSize(1);

    EList<FormFieldType> formFieldList = formDataTypeList.get(0).getFormField();
    assertThat(formFieldList).hasSize(1);

    final FormFieldType formFieldType = formFieldList.get(0);
    assertThat(formFieldType).isNotNull();

    assertThat(formFieldType.getValidation()).isNotNull();

    FeatureChangeFilter filter =
        new FeatureChangeFilter(formFieldType, FORM_FIELD_VALIDATION_FEATURE);
    CustomResourceSetListener listener = new CustomResourceSetListener(formFieldType, filter);
    listener.register();

    transactionalExecute(
        new RecordingCommand(editingDomain) {

          @Override
          protected void doExecute() {
            formFieldType.eUnset(FORM_FIELD_VALIDATION_FEATURE);
          }
        });

    assertThat(listener.getCapturedEvents()).hasSize(1);
  }