package org.molgenis.data.rest;
import org.mockito.Mockito;
import org.molgenis.data.DataService;
import org.molgenis.data.i18n.LanguageService;
import org.molgenis.data.meta.model.EntityType;
import org.molgenis.security.core.MolgenisPermissionService;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.Collections;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNull;
public class EntityCollectionResponseTest
{
private EntityType entityType;
private MolgenisPermissionService permissionService;
private DataService dataService;
private LanguageService languageService;
@BeforeMethod
public void setUp()
{
entityType = Mockito.mock(EntityType.class);
when(entityType.getAttributes()).thenReturn(Collections.emptyList());
permissionService = mock(MolgenisPermissionService.class);
dataService = mock(DataService.class);
languageService = mock(LanguageService.class);
}
@Test
public void getNextHref()
{
EntityPager pager = new EntityPager(0, 10, 25l, null);
EntityCollectionResponse response = new EntityCollectionResponse(pager, null, "/test", entityType,
permissionService, dataService, languageService);
assertEquals(response.getNextHref(), "/test?start=10&num=10");
pager = new EntityPager(10, 10, 25l, null);
response = new EntityCollectionResponse(pager, null, "/test", entityType, permissionService, dataService,
languageService);
assertEquals(response.getNextHref(), "/test?start=20&num=10");
pager = new EntityPager(0, 25, 25l, null);
response = new EntityCollectionResponse(pager, null, "/test", entityType, permissionService, dataService,
languageService);
assertNull(response.getNextHref());
}
@Test
public void getPrevHref()
{
EntityPager pager = new EntityPager(0, 15, 30l, null);
EntityCollectionResponse response = new EntityCollectionResponse(pager, null, "/test", entityType,
permissionService, dataService, languageService);
assertNull(response.getPrevHref());
pager = new EntityPager(15, 15, 30l, null);
response = new EntityCollectionResponse(pager, null, "/test", entityType, permissionService, dataService,
languageService);
assertEquals(response.getPrevHref(), "/test?start=0&num=15");
pager = new EntityPager(30, 15, 30l, null);
response = new EntityCollectionResponse(pager, null, "/test", entityType, permissionService, dataService,
languageService);
assertEquals(response.getPrevHref(), "/test?start=15&num=15");
}
}