package com.constellio.app.api.extensions; import com.constellio.app.api.extensions.params.AvailableActionsParam; import com.constellio.app.modules.rm.RMTestRecords; import com.constellio.app.services.factories.AppLayerFactory; import com.constellio.app.ui.pages.base.ConstellioHeaderImpl; import com.constellio.app.ui.pages.base.SessionContext; import com.constellio.sdk.tests.ConstellioTest; import com.constellio.sdk.tests.FakeSessionContext; import com.vaadin.navigator.Navigator; import com.vaadin.ui.Component; import com.vaadin.ui.MenuBar; import com.vaadin.ui.VerticalLayout; import org.junit.Before; import org.junit.Test; import static org.mockito.Mockito.*; /** * Created by Constelio on 2016-10-19. */ public class SelectionPanelExtensionAcceptanceTest extends ConstellioTest { AppLayerFactory appLayerFactory; RMTestRecords records = new RMTestRecords(zeCollection); @Before public void setup() { prepareSystem( withZeCollection().withConstellioRMModule().withConstellioESModule().withAllTestUsers() .withRMTest(records).withFoldersAndContainersOfEveryStatus().withDocumentsDecommissioningList() ); appLayerFactory = getAppLayerFactory(); } @Test public void givenSelectionPanelIsBuiltThenExtensionIsCalled() { SelectionPanelExtension selectionPanelExtension = spy(new SelectionPanelExtension()); appLayerFactory.getExtensions().forCollection(zeCollection).selectionPanelExtensions.add(selectionPanelExtension); new ConstellioHeaderImpl() { @Override public SessionContext getSessionContext() { return FakeSessionContext.adminInCollection(zeCollection); } @Override protected Component buildAdvancedSearchUI() { return new VerticalLayout(); } @Override protected MenuBar buildCollectionMenu() { return new MenuBar(); } @Override public Navigator getNavigator() { return mock(Navigator.class); } }; verify(selectionPanelExtension, times(1)).addAvailableActions(any(AvailableActionsParam.class)); } }