+ @Test(expected = IllegalStateException.class)
+ public void shouldFailIfParentElementDoesNotExist() {
+ doReturn(Optional.empty()).when(zusammenAdaptorMock)
+ .getElementInfoByName(any(SessionContext.class), any(ElementContext.class), isNull(),
+ eq(WorkflowElementType.INPUTS.name()));
+ parameterRepository.deleteAll(ITEM1_ID, VERSION1_ID, ParameterRole.INPUT);
+ }
+
+ @Test
+ public void shouldCreateParameter() {
+ ZusammenElement zusammenParentElement = new ZusammenElement();
+ zusammenParentElement.setElementId(new Id(PARAMETERS_PARENT_ID));
+ ZusammenElement zusammenElement = new ZusammenElement();
+ zusammenElement.setElementId(new Id(PARAMETER1_ID));
+ zusammenParentElement.addSubElement(zusammenElement);
+ doReturn(zusammenParentElement).when(zusammenAdaptorMock)
+ .saveElement(any(SessionContext.class), any(ElementContext.class),
+ any(ZusammenElement.class), eq("Create WorkflowVersion Parameter Element"));
+ ParameterEntity parameterEntity = new ParameterEntity("test_input_parameter");
+ parameterEntity.setType(ParameterType.INTEGER);
+ parameterEntity.setMandatory(true);
+
+ ParameterEntity returnedParameter =
+ parameterRepository.create(ITEM1_ID, VERSION1_ID, ParameterRole.INPUT, parameterEntity);
+ verify(zusammenAdaptorMock)
+ .saveElement(any(SessionContext.class), any(ElementContext.class), any(ZusammenElement.class),
+ eq("Create WorkflowVersion Parameter Element"));
+ assertEquals(PARAMETER1_ID, returnedParameter.getId());
+ }
+