package com.constellio.app.ui.framework.data;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
import java.util.ArrayList;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import com.constellio.app.services.collections.CollectionsManager;
import com.constellio.app.ui.framework.data.CollectionVODataProvider.CollectionVO;
import com.constellio.app.ui.pages.base.SessionContext;
import com.constellio.sdk.tests.ConstellioTest;
import com.constellio.sdk.tests.FakeSessionContext;
import com.constellio.sdk.tests.MockedFactories;
public class CollectionVODataProviderTest extends ConstellioTest {
MockedFactories mockedFactories = new MockedFactories();
CollectionVODataProvider dataProvider;
@Mock SessionContext sessionContext;
@Mock CollectionVO collectionVO1, collectionVO2, collectionVO3, collectionVO4;
@Mock CollectionsManager collectionsManager;
@Before
public void setUp()
throws Exception {
List<CollectionVO> collectionVOs = new ArrayList<>();
collectionVOs.add(collectionVO1);
collectionVOs.add(collectionVO2);
collectionVOs.add(collectionVO3);
collectionVOs.add(collectionVO4);
sessionContext = FakeSessionContext.dakotaInCollection(zeCollection);
when(mockedFactories.getAppLayerFactory().getCollectionsManager()).thenReturn(collectionsManager);
dataProvider = spy(new CollectionVODataProvider(mockedFactories.getAppLayerFactory()));
doReturn(collectionVOs).when(dataProvider).getCollections();
}
@Test
public void whenSubListSchemaVOThenOk()
throws Exception {
assertThat(dataProvider.getCollections(2, 1)).containsOnly(collectionVO3);
assertThat(dataProvider.getCollections(1, 10)).containsOnly(collectionVO2, collectionVO3, collectionVO4);
assertThat(dataProvider.getCollections(11, 10)).isEmpty();
}
}