Add test for entityType based item process configurations based on itemType

This commit is contained in:
Toni Prieto
2024-04-15 06:08:06 +02:00
parent cb171c74eb
commit 9d4fb70215
3 changed files with 72 additions and 6 deletions

View File

@@ -27,6 +27,7 @@
<name-map community-handle="123456789/topcommunity-test" submission-name="topcommunitytest"/>
<name-map community-handle="123456789/subcommunity-test" submission-name="subcommunitytest"/>
<name-map collection-handle="123456789/collection-test" submission-name="collectiontest"/>
<name-map collection-entity-type="Publication" submission-name="entitytypetest"/>
<name-map collection-handle="123456789/test-duplicate-detection" submission-name="test-duplicate-detection"/>
</submission-map>
@@ -289,6 +290,10 @@
<step id="collection"/>
</submission-process>
<submission-process name="entitytypetest">
<step id="collection"/>
</submission-process>
<submission-process name="test-duplicate-detection">
<step id="collection"/>
<step id="duplicates"/>

View File

@@ -51,6 +51,12 @@ public class SubmissionConfigIT extends AbstractIntegrationTestWithDatabase {
// col3 should use the item submission form directly mapped for this collection
Collection col3 = CollectionBuilder.createCollection(context, subcom1, "123456789/collection-test")
.withName("Collection 3")
.withEntityType("Publication")
.build();
// col4 should use the item submission form mapped for the entity type Publication
Collection col4 = CollectionBuilder.createCollection(context, subcom1, "123456789/not-mapped4")
.withName("Collection 4")
.withEntityType("Publication")
.build();
context.restoreAuthSystemState();
@@ -69,5 +75,8 @@ public class SubmissionConfigIT extends AbstractIntegrationTestWithDatabase {
SubmissionConfig submissionConfig3 = submissionConfigService.getSubmissionConfigByCollection(col3);
assertEquals("collectiontest", submissionConfig3.getSubmissionName());
// for col4, it should return the item submission form defined for the entitytype Publication
SubmissionConfig submissionConfig4 = submissionConfigService.getSubmissionConfigByCollection(col4);
assertEquals("entitytypetest", submissionConfig4.getSubmissionName());
}
}

View File

@@ -35,7 +35,7 @@ public class SubmissionDefinitionsControllerIT extends AbstractControllerIntegra
// The total number of expected submission definitions is referred to in multiple tests and assertions as
// is the last page (totalDefinitions - 1)
// This integer should be maintained along with any changes to item-submissions.xml
private static final int totalDefinitions = 11;
private static final int totalDefinitions = 12;
@Test
public void findAll() throws Exception {
@@ -419,7 +419,7 @@ public class SubmissionDefinitionsControllerIT extends AbstractControllerIntegra
Matchers.containsString("page=5"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.last.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=10"), Matchers.containsString("size=1"))))
Matchers.containsString("page=" + (totalDefinitions - 1)), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$.page.size", is(1)))
.andExpect(jsonPath("$.page.totalElements", is(totalDefinitions)))
.andExpect(jsonPath("$.page.totalPages", is(totalDefinitions)))
@@ -445,7 +445,7 @@ public class SubmissionDefinitionsControllerIT extends AbstractControllerIntegra
Matchers.containsString("page=6"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.last.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=10"), Matchers.containsString("size=1"))))
Matchers.containsString("page=" + (totalDefinitions - 1)), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$.page.size", is(1)))
.andExpect(jsonPath("$.page.totalElements", is(totalDefinitions)))
.andExpect(jsonPath("$.page.totalPages", is(totalDefinitions)))
@@ -471,7 +471,7 @@ public class SubmissionDefinitionsControllerIT extends AbstractControllerIntegra
Matchers.containsString("page=7"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.last.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=10"), Matchers.containsString("size=1"))))
Matchers.containsString("page=" + (totalDefinitions - 1)), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$.page.size", is(1)))
.andExpect(jsonPath("$.page.totalElements", is(totalDefinitions)))
.andExpect(jsonPath("$.page.totalPages", is(totalDefinitions)))
@@ -497,7 +497,7 @@ public class SubmissionDefinitionsControllerIT extends AbstractControllerIntegra
Matchers.containsString("page=8"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.last.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=10"), Matchers.containsString("size=1"))))
Matchers.containsString("page=" + (totalDefinitions - 1)), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$.page.size", is(1)))
.andExpect(jsonPath("$.page.totalElements", is(totalDefinitions)))
.andExpect(jsonPath("$.page.totalPages", is(totalDefinitions)))
@@ -515,16 +515,68 @@ public class SubmissionDefinitionsControllerIT extends AbstractControllerIntegra
.andExpect(jsonPath("$._links.prev.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=8"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.next.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=10"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.self.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=9"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.last.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=10"), Matchers.containsString("size=1"))))
Matchers.containsString("page=" + (totalDefinitions - 1)), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$.page.size", is(1)))
.andExpect(jsonPath("$.page.totalElements", is(totalDefinitions)))
.andExpect(jsonPath("$.page.totalPages", is(totalDefinitions)))
.andExpect(jsonPath("$.page.number", is(9)));
getClient(tokenAdmin).perform(get("/api/config/submissiondefinitions")
.param("size", "1")
.param("page", "10"))
.andExpect(status().isOk())
.andExpect(content().contentType(contentType))
.andExpect(jsonPath("$._embedded.submissiondefinitions[0].id", is("entitytypetest")))
.andExpect(jsonPath("$._links.first.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=0"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.prev.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=9"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.next.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=11"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.self.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=10"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.last.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=" + (totalDefinitions - 1)), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$.page.size", is(1)))
.andExpect(jsonPath("$.page.totalElements", is(totalDefinitions)))
.andExpect(jsonPath("$.page.totalPages", is(totalDefinitions)))
.andExpect(jsonPath("$.page.number", is(10)));
getClient(tokenAdmin).perform(get("/api/config/submissiondefinitions")
.param("size", "1")
.param("page", "11"))
.andExpect(status().isOk())
.andExpect(content().contentType(contentType))
.andExpect(jsonPath("$._embedded.submissiondefinitions[0].id", is("test-duplicate-detection")))
.andExpect(jsonPath("$._links.first.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=0"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.prev.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=10"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.self.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=11"), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$._links.last.href", Matchers.allOf(
Matchers.containsString("/api/config/submissiondefinitions?"),
Matchers.containsString("page=" + (totalDefinitions - 1)), Matchers.containsString("size=1"))))
.andExpect(jsonPath("$.page.size", is(1)))
.andExpect(jsonPath("$.page.totalElements", is(totalDefinitions)))
.andExpect(jsonPath("$.page.totalPages", is(totalDefinitions)))
.andExpect(jsonPath("$.page.number", is(11)));
}
}