@Override public ProvidersInfo getProvidersInfo(final ProviderTypeKey providerTypeKey) { checkNotNull("providerTypeKey", providerTypeKey); final ProviderType providerType = providerTypeService.getProviderType(providerTypeKey); if (providerType == null) { return null; } final Collection<ProviderKey> providersKey = providerService.getProvidersKey(providerType); return new ProvidersInfo(providerType, providersKey); }
protected void removeProviderType() { providerTypeService.call( aVoid -> providerTypeListRefreshEvent.fire(new ProviderTypeListRefreshEvent()) ).disableProviderType(providerType); } }
@Override public void complete() { final Collection<ProviderType> providerTypes = enableProviderTypePage.getSelectedProviderTypes(); providerTypeService.call((Void aVoid) -> onEnableTypesSuccess(providerTypes), (message, throwable) -> onEnableTypesError()).enableProviderTypes(providerTypes); }
private void refreshProviderTypes(ProviderTypeKey selectProviderTypeKey) { providerTypeService.call((Collection<ProviderType> providerTypes) -> setupProviderTypes(providerTypes, selectProviderTypeKey)).getEnabledProviderTypes(); }
protected void onAddNewProviderType(@Observes final AddNewProviderTypeEvent event) { providerTypeService.call((Map<ProviderType, ProviderTypeStatus> result) -> { enableProviderTypeWizard.start(buildProviderStatusList(result)); }).getProviderTypesStatus(); }
private void refreshProviderTypes(ProviderTypeKey selectProviderTypeKey) { providerTypeService.call((Collection<ProviderType> providerTypes) -> setupProviderTypes(providerTypes, selectProviderTypeKey), new DefaultErrorCallback()).getEnabledProviderTypes(); }
protected void onAddNewProviderType(@Observes final AddNewProviderTypeEvent event) { providerTypeService.call((Map<ProviderType, ProviderTypeStatus> result) -> { enableProviderTypeWizard.start(buildProviderStatusList(result)); }, new DefaultErrorCallback()).getProviderTypesStatus(); }
@Test public void testGetProvidersInfoProviderTypeNotExisting() { //the provider type not exists. when(providerTypeService.getProviderType(providerTypeKey)).thenReturn(null); ProvidersInfo providersInfo = service.getProvidersInfo(providerTypeKey); assertNull(providersInfo); verify(providerTypeService, times(1)).getProviderType(providerTypeKey); verify(providerService, never()).getProvidersKey(providerType); }
@Override public void complete() { final Collection<ProviderType> providerTypes = enableProviderTypePage.getSelectedProviderTypes(); providerTypeService.call((Void aVoid) -> onEnableTypesSuccess(providerTypes), (message, throwable) -> onEnableTypesError()).enableProviderTypes(providerTypes); }
@Test public void testOnRefreshProviderTypesWithNOEnabledProviderTypes() { providerTypes.clear(); when(providerTypeService.getEnabledProviderTypes()).thenReturn(providerTypes); presenter.onRefreshProviderTypes(new ProviderTypeListRefreshEvent()); verify(view, times(1)).setEmptyView(providerTypeEmptyPresenterView); verify(providerTypeNavigationPresenter, times(1)).clear(); verify(providerTypeNavigationPresenter, times(0)).setup(any(ProviderType.class), anyCollectionOf(ProviderType.class)); }
protected void removeProviderType() { providerTypeService.call( aVoid -> providerTypeListRefreshEvent.fire(new ProviderTypeListRefreshEvent()) ).disableProviderType(providerType); } }
@Test public void testAddNewProviderType() { List<ProviderType> providerTypes = mockProviderTypeList(PROVIDER_TYPE_COUNT); Map<ProviderType, ProviderTypeStatus> providerTypeStatusMap = new HashMap<>(); providerTypes.forEach(providerType -> providerTypeStatusMap.put(providerType, mock(ProviderTypeStatus.class))); when(providerTypeService.getProviderTypesStatus()).thenReturn(providerTypeStatusMap); //select an arbitrary set of provider types as the properly installed. List<ProviderType> properlyInstalledProviderTypes = new ArrayList<>(); properlyInstalledProviderTypes.add(providerTypes.get(0)); properlyInstalledProviderTypes.add(providerTypes.get(3)); properlyInstalledProviderTypes.add(providerTypes.get(5)); properlyInstalledProviderTypes.forEach(providerType -> when(handlerRegistry.isProviderInstalled(providerType.getKey())).thenReturn(true)); perspective.onAddNewProviderType(mock(AddNewProviderTypeEvent.class)); verify(providerTypeService, times(1)).getProviderTypesStatus(); verify(enableProviderTypeWizard, times(1)).start(providerTypesCaptor.capture()); //only the properly installed provider types should be used for the wizard setup assertEquals(properlyInstalledProviderTypes.size(), providerTypesCaptor.getValue().size()); @SuppressWarnings("unchecked") List<Pair<ProviderType, ProviderTypeStatus>> capturedValues = providerTypesCaptor.getValue(); capturedValues.forEach(value -> assertTrue(properlyInstalledProviderTypes.contains(value.getK1()))); }
@Test public void testGetProvidersInfoProviderTypeNotExisting() { //the provider type not exists. when(providerTypeService.getProviderType(providerTypeKey)).thenReturn(null); ProvidersInfo providersInfo = service.getProvidersInfo(providerTypeKey); assertNull(providersInfo); verify(providerTypeService, times(1)).getProviderType(providerTypeKey); verify(providerService, never()).getProvidersKey(providerType); }
@Test public void testEnableProviderSuccess() { //initialize and start the wizard. wizard.start(providerTypeStatus); //emulate the user completing the wizard. preCompleteWizard(); //emulates the user pressing the finish button wizard.complete(); //verify the provider types has been enabled and the proper notifications were fired. verify(providerTypeService, times(1)).enableProviderTypes(selectedProviders); verify(notification, times(1)).fire(new NotificationEvent(SUCCESS_MESSAGE, NotificationEvent.NotificationType.SUCCESS)); verify(providerTypeListRefreshEvent, times(1)).fire(new ProviderTypeListRefreshEvent(selectedProviders.get(0).getKey())); }
@Test public void testOnRefreshProviderTypesWithNOEnabledProviderTypes() { providerTypes.clear(); when(providerTypeService.getEnabledProviderTypes()).thenReturn(providerTypes); presenter.onRefreshProviderTypes(new ProviderTypeListRefreshEvent()); verify(view, times(1)).setEmptyView(providerTypeEmptyPresenterView); verify(providerTypeNavigationPresenter, times(1)).clear(); verify(providerTypeNavigationPresenter, times(0)).setup(any(ProviderType.class), anyCollectionOf(ProviderType.class)); }
@Test public void onRemoveProviderTypeTest() { presenter.setup(providerType, providers, provider); presenter.onRemoveProviderType(); //emulate user confirmation on screen verify(view, times(1)).confirmRemove(any(Command.class)); presenter.removeProviderType(); verify(providerTypeService, times(1)).disableProviderType(providerType); verify(providerTypeListRefreshEvent, times(1)).fire(new ProviderTypeListRefreshEvent()); }
@Test public void testAddNewProviderType() { List<ProviderType> providerTypes = mockProviderTypeList(PROVIDER_TYPE_COUNT); Map<ProviderType, ProviderTypeStatus> providerTypeStatusMap = new HashMap<>(); providerTypes.forEach(providerType -> providerTypeStatusMap.put(providerType, mock(ProviderTypeStatus.class))); when(providerTypeService.getProviderTypesStatus()).thenReturn(providerTypeStatusMap); //select an arbitrary set of provider types as the properly installed. List<ProviderType> properlyInstalledProviderTypes = new ArrayList<>(); properlyInstalledProviderTypes.add(providerTypes.get(0)); properlyInstalledProviderTypes.add(providerTypes.get(3)); properlyInstalledProviderTypes.add(providerTypes.get(5)); properlyInstalledProviderTypes.forEach(providerType -> when(handlerRegistry.isProviderInstalled(providerType.getKey())).thenReturn(true)); perspective.onAddNewProviderType(mock(AddNewProviderTypeEvent.class)); verify(providerTypeService, times(1)).getProviderTypesStatus(); verify(enableProviderTypeWizard, times(1)).start(providerTypesCaptor.capture()); //only the properly installed provider types should be used for the wizard setup assertEquals(properlyInstalledProviderTypes.size(), providerTypesCaptor.getValue().size()); @SuppressWarnings("unchecked") List<Pair<ProviderType, ProviderTypeStatus>> capturedValues = providerTypesCaptor.getValue(); capturedValues.forEach(value -> assertTrue(properlyInstalledProviderTypes.contains(value.getK1()))); }
@Test public void testGetProvidersInfoProviderTypeExisting() { //the provider type exists. when(providerTypeService.getProviderType(providerTypeKey)).thenReturn(providerType); when(providerService.getProvidersKey(providerType)).thenReturn(providerKeys); ProvidersInfo providersInfo = service.getProvidersInfo(providerTypeKey); assertNotNull(providersInfo); assertEquals(providerType, providersInfo.getProviderType()); assertEquals(providerKeys, providersInfo.getProvidersKey()); verify(providerTypeService, times(1)).getProviderType(providerTypeKey); verify(providerService, times(1)).getProvidersKey(providerType); }
@Test public void testEnableProviderSuccess() { //initialize and start the wizard. wizard.start(providerTypeStatus); //emulate the user completing the wizard. preCompleteWizard(); //emulates the user pressing the finish button wizard.complete(); //verify the provider types has been enabled and the proper notifications were fired. verify(providerTypeService, times(1)).enableProviderTypes(selectedProviders); verify(notification, times(1)).fire(new NotificationEvent(SUCCESS_MESSAGE, NotificationEvent.NotificationType.SUCCESS)); verify(providerTypeListRefreshEvent, times(1)).fire(new ProviderTypeListRefreshEvent(selectedProviders.get(0).getKey())); }
@Test public void testOnRefreshProviderTypesWithEnabledProviderTypes() { when(providerTypeService.getEnabledProviderTypes()).thenReturn(providerTypes); //pick an arbitrary element as the selected ProviderType selectedProviderType = providerTypes.iterator().next(); presenter.onRefreshProviderTypes(new ProviderTypeListRefreshEvent(selectedProviderType.getKey())); //the provider type navigation presenter must have been set properly. verify(providerTypeNavigationPresenter, times(1)).setup(selectedProviderType, providerTypes); verify(providerTypeSelectedEvent, times(1)).fire(new ProviderTypeSelectedEvent(selectedProviderType.getKey())); }