Complete ITs and implementation

This commit is contained in:
Andrea Bollini
2018-06-09 18:06:04 +02:00
parent 18046604a7
commit d5d2fe0e68
2 changed files with 15 additions and 5 deletions

View File

@@ -10,6 +10,7 @@ package org.dspace.app.rest.repository;
import java.sql.SQLException;
import java.util.List;
import org.dspace.app.rest.Parameter;
import org.dspace.app.rest.SearchRestMethod;
import org.dspace.app.rest.converter.MetadataFieldConverter;
import org.dspace.app.rest.model.MetadataFieldRest;
@@ -22,7 +23,6 @@ import org.dspace.core.Context;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Component;
/**
@@ -72,7 +72,7 @@ public class MetadataFieldRestRepository extends DSpaceRestRepository<MetadataFi
}
@SearchRestMethod(name = "bySchema")
public Page<MetadataFieldRest> findBySchema(@Param(value = "schema") String schemaName,
public Page<MetadataFieldRest> findBySchema(@Parameter(value = "schema", required = true) String schemaName,
Pageable pageable) {
Context context = obtainContext();
List<MetadataField> metadataFields = null;

View File

@@ -85,20 +85,22 @@ public class MetadatafieldRestRepositoryIT extends AbstractControllerIntegration
.createMetadataField(context, schema, "AnElement", "AQualifier", "AScopeNote").build();
getClient().perform(get("/api/core/metadatafields/search/bySchema")
.param("schema", "dc"))
.param("schema", "dc")
.param("size", String.valueOf(100)))
.andExpect(status().isOk())
.andExpect(content().contentType(contentType))
.andExpect(jsonPath("$._embedded.metadatafields", Matchers.hasItems(
MetadataFieldMatcher.matchMetadataFieldByKeys("dc","title", null),
MetadataFieldMatcher.matchMetadataFieldByKeys("dc","date", "issued"))
))
.andExpect(jsonPath("$.page.size", is(20)));
.andExpect(jsonPath("$.page.size", is(100)));
getClient().perform(get("/api/core/metadatafields/search/bySchema")
.param("schema", schema.getName()))
.andExpect(status().isOk())
.andExpect(content().contentType(contentType))
.andExpect(jsonPath("$._embedded.metadatafields", Matchers.hasItem(metadataField)
.andExpect(jsonPath("$._embedded.metadatafields", Matchers.hasItem(
MetadataFieldMatcher.matchMetadataField(metadataField))
))
.andExpect(jsonPath("$.page.size", is(20)))
.andExpect(jsonPath("$.page.totalElements", is(1)));
@@ -114,4 +116,12 @@ public class MetadatafieldRestRepositoryIT extends AbstractControllerIntegration
.andExpect(jsonPath("$.page.size", is(20)))
.andExpect(jsonPath("$.page.totalElements", is(0)));
}
@Test
public void findByNullSchema() throws Exception {
getClient().perform(get("/api/core/metadatafields/search/bySchema"))
.andExpect(status().isUnprocessableEntity());
}
}