package de.unioninvestment.eai.portal.portlet.crud.domain.model; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.mockito.Mockito.withSettings; import java.util.ArrayList; import org.junit.Test; import org.mockito.Mock; import de.unioninvestment.eai.portal.portlet.crud.domain.container.GenericVaadinContainerEventWrapper; import de.unioninvestment.eai.portal.support.vaadin.container.MetaData; import de.unioninvestment.eai.portal.support.vaadin.mvp.EventBus; public class ReSTContainerTest extends AbstractDataContainerTest<ReSTContainer, GenericVaadinContainerEventWrapper> { private EventBus eventBus = new EventBus(); @Mock private ReSTDelegate delegateMock; @Mock private MetaData metaDataMock; @Override public ReSTContainer createDataContainer() { ReSTContainer container = new ReSTContainer( eventBus, displayPatternMock, new ArrayList<ContainerOrder>(), null); when(delegateMock.getMetaData()).thenReturn(metaDataMock); container.setDelegate(delegateMock); container.setMetaData(metaDataMock); container.setVaadinContainer(vaadinContainerMock); return container; } @Override public GenericVaadinContainerEventWrapper createVaadinContainer() { GenericVaadinContainerEventWrapper eventWrapper = mock( GenericVaadinContainerEventWrapper.class, withSettings() .extraInterfaces(Filterable.class)); return eventWrapper; } @Test public void shouldDelegateChangingBaseUrlToDelegate() { container.setBaseUrl("newBaseUrl"); verify(delegateMock).setBaseUrl("newBaseUrl"); } @Test public void shouldRefreshIfBaseUrlChanges() { container.setBaseUrl("newBaseUrl"); verify(vaadinContainerMock).refresh(); } @Test public void shouldDelegateChangingQueryUrlToDelegate() { container.setQueryUrl("newUrl"); verify(delegateMock).setQueryUrl("newUrl"); } @Test public void shouldRefreshIfQueryUrlChanges() { container.setQueryUrl("newUrl"); verify(vaadinContainerMock).refresh(); } }