mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 01:54:22 +00:00
Complete ITs and implementation
This commit is contained in:
@@ -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;
|
||||
|
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user