use of org.pentaho.ui.xul.swt.tags.SwtLabel in project pdi-dataservice-server-plugin by pentaho.
the class DataServiceRemapStepChooserDialogControllerTest method testInit.
@Test
public void testInit() throws InvocationTargetException, XulException {
DataServiceRemapStepChooserModel model = mock(DataServiceRemapStepChooserModel.class);
DataServiceMeta dataService = mock(DataServiceMeta.class);
List<String> stepNames = Arrays.asList("step1");
DataServiceDelegate delegate = mock(DataServiceDelegate.class);
final SwtLabel label = mock(SwtLabel.class);
final SwtListbox listbox = mock(SwtListbox.class);
BindingFactory bindingFactory = mock(BindingFactory.class);
when(bindingFactory.createBinding(same(model), anyString(), any(XulComponent.class), anyString())).thenReturn(mock(Binding.class));
DataServiceRemapStepChooserDialogController controller = spy(new DataServiceRemapStepChooserDialogController(model, dataService, stepNames, delegate));
doAnswer(new Answer() {
private Object[] returnValues = { label, listbox };
int invocations = 0;
@Override
public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
return returnValues[invocations++];
}
}).when(controller).getElementById(anyString());
doReturn(bindingFactory).when(controller).getBindingFactory();
controller.init();
verify(label).setValue(anyString());
verify(listbox).setElements(same(stepNames));
verify(bindingFactory).createBinding(same(model), anyString(), same(listbox), anyString());
}
Aggregations