mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 01:54:22 +00:00
88061: Verify modified relationships on new version of item before item install
This commit is contained in:
@@ -506,95 +506,6 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
||||
Item newPublication = newVersion.getItem();
|
||||
assertNotSame(originalPublication, newPublication);
|
||||
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
// verify the relationships of all 5 items (excludeNonLatest = true) //
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, originalPublication, -1, -1, false, true),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isAuthorOfPublication, person1, LatestVersionStatus.BOTH),
|
||||
isRelationship(originalPublication, isProjectOfPublication, project1, LatestVersionStatus.BOTH),
|
||||
isRelationship(originalPublication, isOrgUnitOfPublication, orgUnit1, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, person1, -1, -1, false, true),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isAuthorOfPublication, person1, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, project1, -1, -1, false, true),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isProjectOfPublication, project1, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, orgUnit1, -1, -1, false, true),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isOrgUnitOfPublication, orgUnit1, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, newPublication, -1, -1, false, true),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(newPublication, isAuthorOfPublication, person1, LatestVersionStatus.RIGHT_ONLY),
|
||||
isRelationship(newPublication, isProjectOfPublication, project1, LatestVersionStatus.RIGHT_ONLY),
|
||||
isRelationship(newPublication, isOrgUnitOfPublication, orgUnit1, LatestVersionStatus.RIGHT_ONLY)
|
||||
))
|
||||
);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// verify the relationships of all 5 items (excludeNonLatest = false) //
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, originalPublication, -1, -1, false, false),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isAuthorOfPublication, person1, LatestVersionStatus.BOTH),
|
||||
isRelationship(originalPublication, isProjectOfPublication, project1, LatestVersionStatus.BOTH),
|
||||
isRelationship(originalPublication, isOrgUnitOfPublication, orgUnit1, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, person1, -1, -1, false, false),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isAuthorOfPublication, person1, LatestVersionStatus.BOTH),
|
||||
isRelationship(newPublication, isAuthorOfPublication, person1, LatestVersionStatus.RIGHT_ONLY)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, project1, -1, -1, false, false),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isProjectOfPublication, project1, LatestVersionStatus.BOTH),
|
||||
isRelationship(newPublication, isProjectOfPublication, project1, LatestVersionStatus.RIGHT_ONLY)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, orgUnit1, -1, -1, false, false),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isOrgUnitOfPublication, orgUnit1, LatestVersionStatus.BOTH),
|
||||
isRelationship(newPublication, isOrgUnitOfPublication, orgUnit1, LatestVersionStatus.RIGHT_ONLY)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, newPublication, -1, -1, false, false),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(newPublication, isAuthorOfPublication, person1, LatestVersionStatus.RIGHT_ONLY),
|
||||
isRelationship(newPublication, isProjectOfPublication, project1, LatestVersionStatus.RIGHT_ONLY),
|
||||
isRelationship(newPublication, isOrgUnitOfPublication, orgUnit1, LatestVersionStatus.RIGHT_ONLY)
|
||||
))
|
||||
);
|
||||
|
||||
/////////////////////////////////////////////
|
||||
// modify relationships on new publication //
|
||||
/////////////////////////////////////////////
|
||||
@@ -627,6 +538,127 @@ public class VersioningWithRelationshipsTest extends AbstractIntegrationTestWith
|
||||
RelationshipBuilder.createRelationshipBuilder(context, newPublication, orgUnit2, isOrgUnitOfPublication)
|
||||
.build();
|
||||
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
// verify the relationships of all 7 items (excludeNonLatest = true) //
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, originalPublication, -1, -1, false, true),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isAuthorOfPublication, person1, LatestVersionStatus.BOTH),
|
||||
isRelationship(originalPublication, isProjectOfPublication, project1, LatestVersionStatus.BOTH),
|
||||
isRelationship(originalPublication, isOrgUnitOfPublication, orgUnit1, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, person1, -1, -1, false, true),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isAuthorOfPublication, person1, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, person2, -1, -1, false, true),
|
||||
containsInAnyOrder(List.of(
|
||||
// NOTE: BOTH because new relationship
|
||||
isRelationship(newPublication, isAuthorOfPublication, person2, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, project1, -1, -1, false, true),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isProjectOfPublication, project1, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, orgUnit1, -1, -1, false, true),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isOrgUnitOfPublication, orgUnit1, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, orgUnit2, -1, -1, false, true),
|
||||
containsInAnyOrder(List.of(
|
||||
// NOTE: BOTH because new relationship
|
||||
isRelationship(newPublication, isOrgUnitOfPublication, orgUnit2, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, newPublication, -1, -1, false, true),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(newPublication, isAuthorOfPublication, person1, LatestVersionStatus.RIGHT_ONLY),
|
||||
// NOTE: BOTH because new relationship
|
||||
isRelationship(newPublication, isAuthorOfPublication, person2, LatestVersionStatus.BOTH),
|
||||
isRelationship(newPublication, isOrgUnitOfPublication, orgUnit2, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// verify the relationships of all 7 items (excludeNonLatest = false) //
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, originalPublication, -1, -1, false, false),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isAuthorOfPublication, person1, LatestVersionStatus.BOTH),
|
||||
isRelationship(originalPublication, isProjectOfPublication, project1, LatestVersionStatus.BOTH),
|
||||
isRelationship(originalPublication, isOrgUnitOfPublication, orgUnit1, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, person1, -1, -1, false, false),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isAuthorOfPublication, person1, LatestVersionStatus.BOTH),
|
||||
isRelationship(newPublication, isAuthorOfPublication, person1, LatestVersionStatus.RIGHT_ONLY)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, person2, -1, -1, false, false),
|
||||
containsInAnyOrder(List.of(
|
||||
// NOTE: BOTH because new relationship
|
||||
isRelationship(newPublication, isAuthorOfPublication, person2, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, project1, -1, -1, false, false),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isProjectOfPublication, project1, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, orgUnit1, -1, -1, false, false),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(originalPublication, isOrgUnitOfPublication, orgUnit1, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, orgUnit2, -1, -1, false, false),
|
||||
containsInAnyOrder(List.of(
|
||||
// NOTE: BOTH because new relationship
|
||||
isRelationship(newPublication, isOrgUnitOfPublication, orgUnit2, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
assertThat(
|
||||
relationshipService.findByItem(context, newPublication, -1, -1, false, false),
|
||||
containsInAnyOrder(List.of(
|
||||
isRelationship(newPublication, isAuthorOfPublication, person1, LatestVersionStatus.RIGHT_ONLY),
|
||||
// NOTE: BOTH because new relationship
|
||||
isRelationship(newPublication, isAuthorOfPublication, person2, LatestVersionStatus.BOTH),
|
||||
isRelationship(newPublication, isOrgUnitOfPublication, orgUnit2, LatestVersionStatus.BOTH)
|
||||
))
|
||||
);
|
||||
|
||||
////////////////////////////////////////
|
||||
// do item install on new publication //
|
||||
////////////////////////////////////////
|
||||
|
Reference in New Issue
Block a user