[DS-3489] Wrote the tests and cleaned up the code

This commit is contained in:
Raf Ponsaerts
2017-10-04 13:50:50 +02:00
committed by Tom Desair
parent f85daef824
commit 6d913aa05b
8 changed files with 272 additions and 1 deletions

View File

@@ -1,3 +1,10 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.rest.converter;
import org.apache.commons.collections4.CollectionUtils;

View File

@@ -30,7 +30,6 @@ public class FacetConfigurationResourceHalLinkFactory extends HalLinkFactory<Fac
list.add(buildLink(Link.REL_SELF, getMethodOn()
.getFacetsConfiguration(data.getScope(), data.getConfigurationName())));
// list.add(buildLink("objects", getMethodOn().getSearchObjects(null, null, null, null, null, null)));
}
}

View File

@@ -69,6 +69,7 @@ public class FacetConfigurationRest extends BaseObjectRest<String> {
.append(this.getController(), ((FacetConfigurationRest) object).getController())
.append(this.getScope(), ((FacetConfigurationRest) object).getScope())
.append(this.getConfigurationName(), ((FacetConfigurationRest) object).getConfigurationName())
.append(this.getSidebarFacets(), ((FacetConfigurationRest) object).getSidebarFacets())
.isEquals());
}
@Override
@@ -79,6 +80,7 @@ public class FacetConfigurationRest extends BaseObjectRest<String> {
.append(this.getController())
.append(this.getScope())
.append(this.getConfigurationName())
.append(this.getSidebarFacets())
.toHashCode();
}

View File

@@ -1,3 +1,10 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.rest.model.hateoas;
import com.fasterxml.jackson.annotation.JsonUnwrapped;

View File

@@ -0,0 +1,104 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.rest.converter;
import org.dspace.app.rest.converter.DiscoverConfigurationConverter;
import org.dspace.app.rest.model.FacetConfigurationRest;
import org.dspace.app.rest.model.SearchConfigurationRest;
import org.dspace.app.rest.model.hateoas.FacetConfigurationResource;
import org.dspace.discovery.configuration.*;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import java.util.*;
import static junit.framework.TestCase.assertFalse;
import static junit.framework.TestCase.assertNull;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.when;
/**
* Created by raf on 26/09/2017.
*/
@RunWith(MockitoJUnitRunner.class)
public class DiscoverFacetConfigurationConverterTest{
FacetConfigurationRest facetConfigurationRest;
@InjectMocks
private DiscoverFacetConfigurationConverter discoverFacetConfigurationConverter;
@Mock
private DiscoveryConfiguration discoveryConfiguration;
public void populateDiscoveryConfigurationWithEmptyList(){
discoveryConfiguration.setSidebarFacets(new LinkedList<DiscoverySearchFilterFacet>());
}
@Test
public void testReturnType() throws Exception{
populateDiscoveryConfigurationWithEmptyList();
facetConfigurationRest = discoverFacetConfigurationConverter.convert(discoveryConfiguration);
assertTrue(facetConfigurationRest.getSidebarFacets().isEmpty());
assertEquals(FacetConfigurationRest.class, facetConfigurationRest.getClass());
}
@Test
public void testConvertWithNullParamter() throws Exception{
facetConfigurationRest = discoverFacetConfigurationConverter.convert(null);
assertNotNull(facetConfigurationRest);
assertTrue(facetConfigurationRest.getSidebarFacets().isEmpty());
}
@Test
public void testConvertWithConfigurationContainingSidebarFacetsFacetConfigurationRestContainsCorrectSidebarFacet() throws Exception{
LinkedList<DiscoverySearchFilterFacet> discoverySearchFilterFacets = new LinkedList<>();
DiscoverySearchFilterFacet discoverySearchFilterFacet = new DiscoverySearchFilterFacet();
discoverySearchFilterFacet.setIndexFieldName("Testing");
discoverySearchFilterFacet.setType("test");
discoverySearchFilterFacets.add(discoverySearchFilterFacet);
when(discoveryConfiguration.getSidebarFacets()).thenReturn(discoverySearchFilterFacets);
facetConfigurationRest = discoverFacetConfigurationConverter.convert(discoveryConfiguration);
assertNotNull(facetConfigurationRest);
assertTrue(!facetConfigurationRest.getSidebarFacets().isEmpty());
assertEquals(discoverySearchFilterFacet.getIndexFieldName(), facetConfigurationRest.getSidebarFacets().get(0).getName());
assertEquals(discoverySearchFilterFacet.getType(), facetConfigurationRest.getSidebarFacets().get(0).getType());
}
@Test
public void testConvertWithConfigurationContainingEmptySidebarFacetListFacetConfigurationRestSidebarFacetsIsEmpty() throws Exception{
when(discoveryConfiguration.getSidebarFacets()).thenReturn(new LinkedList<DiscoverySearchFilterFacet>());
facetConfigurationRest = discoverFacetConfigurationConverter.convert(discoveryConfiguration);
assertNotNull(facetConfigurationRest);
assertTrue(facetConfigurationRest.getSidebarFacets().isEmpty());
}
@Test
public void testConvertWithConfigurationContainingNullSidebarFacetListFacetConfigurationRestSidebarFacetsIsEmpty() throws Exception{
when(discoveryConfiguration.getSidebarFacets()).thenReturn(null);
facetConfigurationRest = discoverFacetConfigurationConverter.convert(discoveryConfiguration);
assertNotNull(facetConfigurationRest);
assertTrue(facetConfigurationRest.getSidebarFacets().isEmpty());
}
}

View File

@@ -0,0 +1,60 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.rest.link.facet;
import org.dspace.app.rest.DiscoveryRestController;
import org.dspace.app.rest.link.HalLinkFactory;
import org.dspace.app.rest.link.facet.FacetConfigurationResourceHalLinkFactory;
import org.dspace.app.rest.model.SearchConfigurationRest;
import org.dspace.app.rest.model.hateoas.FacetConfigurationResource;
import org.dspace.app.rest.model.hateoas.SearchConfigurationResource;
import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.springframework.hateoas.Link;
import org.springframework.hateoas.mvc.ControllerLinkBuilder;
import org.springframework.web.util.UriComponentsBuilder;
import java.util.LinkedList;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.when;
/**
* Created by raf on 26/09/2017.
*/
public class FacetConfigurationResourceHalLinkFactoryTest{
@Mock
ControllerLinkBuilder controllerLinkBuilder;
@Mock
HalLinkFactory halLinkFactory;
@InjectMocks
private FacetConfigurationResourceHalLinkFactory facetConfigurationResourceHalLinkFactory;
@Before
public void setUp() throws Exception{
facetConfigurationResourceHalLinkFactory = new FacetConfigurationResourceHalLinkFactory();
}
@Test
public void testControllerClassIsSetCorrectlyAfterConstructor() throws Exception{
assertEquals(DiscoveryRestController.class, facetConfigurationResourceHalLinkFactory.getControllerClass());
}
@Test
public void testResourceClassIsSetCorrectlyAfterConstructor() throws Exception{
assertEquals(FacetConfigurationResource.class, facetConfigurationResourceHalLinkFactory.getResourceClass());
}
}

View File

@@ -0,0 +1,41 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.rest.model;
import org.junit.Before;
import org.junit.Test;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
public class FacetConfigurationRestTest {
FacetConfigurationRest facetConfigurationRest;
@Before
public void setUp() throws Exception{
facetConfigurationRest = new FacetConfigurationRest();
}
@Test
public void testSidebarFacetsNotNullAfterConstructor(){
assertNotNull(facetConfigurationRest.getSidebarFacets());
}
@Test
public void testAddSidebarFacetsContainsCorrectSidebarFacet(){
FacetConfigurationRest.SidebarFacet sidebarFacet = new FacetConfigurationRest.SidebarFacet();
sidebarFacet.setType("date");
sidebarFacet.setName("dateName");
facetConfigurationRest.addSidebarFacet(sidebarFacet);
assertEquals(sidebarFacet, facetConfigurationRest.getSidebarFacets().get(0));
}
}

View File

@@ -0,0 +1,51 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.rest.model.hateoas;
import org.dspace.app.rest.model.FacetConfigurationRest;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
public class FacetConfigurationResourceTest {
private FacetConfigurationRest facetConfigurationRest;
@Before
public void setUp() throws Exception{
facetConfigurationRest = new FacetConfigurationRest();
}
@Test
public void testConstructorWithNullStillMakesObject() throws Exception{
FacetConfigurationResource facetConfigurationResource = new FacetConfigurationResource(null);
assertNotNull(facetConfigurationResource);
}
@Test
public void testConstructorWithNullDataIsNull() throws Exception{
FacetConfigurationResource facetConfigurationResource = new FacetConfigurationResource(null);
assertNull(facetConfigurationResource.getData());
}
@Test
public void testConstructorAndGetterWithProperDataAndObjectNotNull() throws Exception{
FacetConfigurationResource facetConfigurationResource = new FacetConfigurationResource(facetConfigurationRest);
assertNotNull(facetConfigurationResource);
assertNotNull(facetConfigurationResource.getData());
}
@Test
public void testConstructorAndGetterWithProperDataAndProperDataReturned() throws Exception{
FacetConfigurationResource facetConfigurationResource = new FacetConfigurationResource(facetConfigurationRest);
assertEquals(facetConfigurationRest, facetConfigurationResource.getData());
}
}