package org.kie.workbench.common.stunner.bpmn.forms.service.adf.processing.processors.fields;
import java.util.HashMap;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.kie.workbench.common.forms.adf.engine.shared.formGeneration.FormGenerationContext;
import org.kie.workbench.common.forms.adf.service.definitions.elements.FieldElement;
import org.kie.workbench.common.stunner.bpmn.forms.model.AssigneeEditorFieldDefinition;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import static org.junit.Assert.*;
import static org.kie.workbench.common.stunner.bpmn.forms.model.AssigneeEditorFieldType.MAX_PARAM;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.*;
@RunWith(MockitoJUnitRunner.class)
public class AssigneeFieldInitializerTest {
private static final String MAX = "5";
protected AssigneeEditorFieldDefinition field;
protected AssigneeFieldInitializer initializer;
@Mock
protected FieldElement fieldElement;
@Mock
protected FormGenerationContext context;
protected Map<String, String> fieldElementParams = new HashMap<>();
@Before
public void init() {
initializer = new AssigneeFieldInitializer();
field = new AssigneeEditorFieldDefinition();
field = spy(field);
when(fieldElement.getParams()).thenReturn(fieldElementParams);
}
@Test
public void testInitializeWithParams() {
fieldElementParams.clear();
fieldElementParams.put(MAX_PARAM,
MAX);
initializer.initialize(field,
fieldElement,
context);
verify(field).setMax(any());
assertEquals(Integer.valueOf(MAX),
field.getMax());
}
@Test
public void testInitializeWithoutParams() {
fieldElementParams.clear();
initializer.initialize(field,
fieldElement,
context);
verify(field).setMax(any());
assertEquals(Integer.valueOf(-1),
field.getMax());
}
}