package org.eclipse.platform.discovery.destprefs.test.unit.prefpage; | |
import java.util.HashSet; | |
import java.util.Set; | |
import org.eclipse.platform.discovery.destprefs.internal.prefpage.ui.DestinationConfiguratorsPresenter; | |
import org.eclipse.platform.discovery.destprefs.internal.prefpage.ui.IDestinationConfiguratorsView; | |
import org.eclipse.platform.discovery.destprefs.internal.xpparser.SearchDestinationsConfiguratorXPParser; | |
import org.eclipse.platform.discovery.runtime.api.IDestinationsProvider; | |
import org.eclipse.platform.discovery.runtime.api.ISearchDestination; | |
import org.eclipse.platform.discovery.testutils.utils.registry.ExtensionRegistryBuilder; | |
import org.junit.Before; | |
import org.junit.Test; | |
import org.mockito.Mock; | |
import org.mockito.Mockito; | |
import org.mockito.MockitoAnnotations; | |
public class DestinationConfiguratorsPresenterTest { | |
private static final String DEST_PROV_ID_1 = "prov1"; | |
private ExtensionRegistryBuilder registryBuilder; | |
private DestinationConfiguratorsPresenter presenter; | |
@Mock | |
private IDestinationConfiguratorsView view; | |
private ISearchDestination dest1; | |
@Before | |
public void setup() { | |
MockitoAnnotations.initMocks(this); | |
registryBuilder = new ExtensionRegistryBuilder(); | |
registryBuilder.addDestinationCategory("cat1", "cat1"); | |
IDestinationsProvider prov1 = Mockito.mock(IDestinationsProvider.class); | |
registryBuilder.addDestinationsProvider(DEST_PROV_ID_1, "cat1", null, prov1.getClass().getCanonicalName(), prov1); | |
Set<ISearchDestination> destinations1 = new HashSet<ISearchDestination>(); | |
dest1 = Mockito.mock(ISearchDestination.class); | |
destinations1.add(dest1); | |
Mockito.when(prov1.getSearchDestinations()).thenReturn(destinations1); | |
SearchDestinationsConfiguratorXPParser parser = new SearchDestinationsConfiguratorXPParser(registryBuilder.getRegistry()); | |
presenter = new DestinationConfiguratorsPresenter(parser); | |
presenter.setView(view); | |
} | |
@Test | |
public void destinationSelectedTogglesEnablement() { | |
presenter.destinationSelected(dest1); | |
Mockito.verify(view).setAddEnabled(Mockito.eq(true)); | |
Mockito.verify(view).setEditEnabled(Mockito.eq(true)); | |
Mockito.verify(view).setRemoveEnabled(Mockito.eq(true)); | |
} | |
@Test | |
public void destinationSelectedThenAdd() { | |
presenter.destinationSelected(dest1); | |
presenter.addDestination(DEST_PROV_ID_1); | |
Mockito.verify(view).setAddEnabled(Mockito.eq(true)); | |
Mockito.verify(view).setEditEnabled(Mockito.eq(true)); | |
Mockito.verify(view).setRemoveEnabled(Mockito.eq(true)); | |
} | |
} |