Skip to content

Commit 4625a3a

Browse files
committed
Resolved merge conflicts #11224
1 parent cae812e commit 4625a3a

File tree

3 files changed

+51
-0
lines changed

3 files changed

+51
-0
lines changed

src/main/java/edu/harvard/iq/dataverse/DatasetFieldServiceBean.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -978,6 +978,7 @@ private Predicate buildFieldPresentInDataversePredicate(Dataverse dataverse, boo
978978
criteriaBuilder.or(
979979
criteriaBuilder.isTrue(datasetFieldTypeRoot.get("displayOnCreate")),
980980
fieldRequiredInTheInstallation
981+
)
981982
),
982983

983984
// 3. Field required by input level

src/test/java/edu/harvard/iq/dataverse/api/DataversesIT.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1926,4 +1926,37 @@ public void testDeleteFeaturedItems() {
19261926
.body("message", equalTo("Can't find dataverse with identifier='thisDataverseDoesNotExist'"))
19271927
.statusCode(NOT_FOUND.getStatusCode());
19281928
}
1929+
1930+
@Test
1931+
public void testUpdateInputLevelDisplayOnCreate() {
1932+
Response createUserResponse = UtilIT.createRandomUser();
1933+
String apiToken = UtilIT.getApiTokenFromResponse(createUserResponse);
1934+
1935+
Response createDataverseResponse = UtilIT.createRandomDataverse(apiToken);
1936+
createDataverseResponse.then().assertThat().statusCode(CREATED.getStatusCode());
1937+
String dataverseAlias = UtilIT.getAliasFromResponse(createDataverseResponse);
1938+
1939+
// Configure metadata blocks - disable inherit from root and set specific blocks
1940+
Response setMetadataBlocksResponse = UtilIT.setMetadataBlocks(
1941+
dataverseAlias,
1942+
Json.createArrayBuilder().add("socialscience"),
1943+
apiToken);
1944+
setMetadataBlocksResponse.then().assertThat()
1945+
.statusCode(OK.getStatusCode());
1946+
1947+
// Verify initial state
1948+
Response listMetadataBlocks = UtilIT.listMetadataBlocks(dataverseAlias, true, true, apiToken);
1949+
listMetadataBlocks.then().assertThat()
1950+
.statusCode(OK.getStatusCode())
1951+
.body("data.size()", equalTo(1))
1952+
.body("data[0].name", equalTo("socialscience"));
1953+
1954+
// Update displayOnCreate for a field
1955+
Response updateResponse = UtilIT.updateDataverseInputLevelDisplayOnCreate(
1956+
dataverseAlias, "unitOfAnalysis", true, apiToken);
1957+
updateResponse.then().assertThat()
1958+
.statusCode(OK.getStatusCode())
1959+
.body("data.inputLevels[0].displayOnCreate", equalTo(true))
1960+
.body("data.inputLevels[0].datasetFieldTypeName", equalTo("unitOfAnalysis"));
1961+
}
19291962
}

src/test/java/edu/harvard/iq/dataverse/api/UtilIT.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4562,4 +4562,21 @@ static Response deleteDataverseFeaturedItems(String dataverseAlias, String apiTo
45624562
.header(API_TOKEN_HTTP_HEADER, apiToken)
45634563
.delete("/api/dataverses/" + dataverseAlias + "/featuredItems");
45644564
}
4565+
4566+
public static Response updateDataverseInputLevelDisplayOnCreate(String dataverseAlias, String fieldTypeName, boolean displayOnCreate, String apiToken) {
4567+
JsonArrayBuilder inputLevelsArrayBuilder = Json.createArrayBuilder();
4568+
JsonObjectBuilder inputLevel = Json.createObjectBuilder()
4569+
.add("datasetFieldTypeName", fieldTypeName)
4570+
.add("required", false)
4571+
.add("include", true)
4572+
.add("displayOnCreate", displayOnCreate);
4573+
4574+
inputLevelsArrayBuilder.add(inputLevel);
4575+
4576+
return given()
4577+
.header(API_TOKEN_HTTP_HEADER, apiToken)
4578+
.body(inputLevelsArrayBuilder.build().toString())
4579+
.contentType(ContentType.JSON)
4580+
.put("/api/dataverses/" + dataverseAlias + "/inputLevels");
4581+
}
45654582
}

0 commit comments

Comments
 (0)