package jnpf.dmsService;
|
|
import jnpf.dmsBusinessOccupancy.BusinessFileOccupancy;
|
import jnpf.dmsEntity.storage.approval.DmsApprovedItem;
|
import jnpf.exception.DataException;
|
import org.junit.jupiter.api.Test;
|
import java.util.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
|
class DmsBusinessLifecycleCoverageTest {
|
private BusinessFileOccupancy receipt(String number,UUID version) {
|
var row=new BusinessFileOccupancy();row.setFileNumber(number);
|
row.setCenterVersionId(version==null?null:version.toString());
|
row.setOperation(version==null?"CREATE":"REVISION");return row;
|
}
|
private DmsApprovedItem item(String change,String number,UUID version) {
|
var item=new DmsApprovedItem();item.setChangeType(change);item.setDocumentNo(number);
|
item.setBaseFileVersionId(version);return item;
|
}
|
@Test void completeMixedMainAndRecordSetMatchesWithoutSharingAChainId() {
|
UUID main=UUID.randomUUID(),record=UUID.randomUUID(),removed=UUID.randomUUID();
|
assertDoesNotThrow(()->DmsBusinessLifecycleGuard.verifySourceCoverage(
|
List.of(receipt("M",main),receipt("R",record),receipt("D",removed),receipt("N",null)),
|
List.of(item("REVISE",null,main),item("REUSE",null,record),item("RETIRE",null,removed),item("CREATE","N",null))));
|
}
|
@Test void missingExtraDuplicateAndWrongVersionAreRejected() {
|
UUID version=UUID.randomUUID();var receipt=receipt("M",version);var main=item("REVISE",null,version);
|
assertThrows(DataException.class,()->DmsBusinessLifecycleGuard.verifySourceCoverage(List.of(),List.of(main)));
|
assertThrows(DataException.class,()->DmsBusinessLifecycleGuard.verifySourceCoverage(List.of(receipt,receipt("N",null)),List.of(main)));
|
assertThrows(DataException.class,()->DmsBusinessLifecycleGuard.verifySourceCoverage(List.of(receipt),List.of(main,main)));
|
assertThrows(DataException.class,()->DmsBusinessLifecycleGuard.verifySourceCoverage(List.of(receipt),List.of(item("REVISE",null,UUID.randomUUID()))));
|
assertThrows(DataException.class,()->DmsBusinessLifecycleGuard.verifySourceCoverage(List.of(receipt("N",null)),List.of(item("CREATE","X",null))));
|
}
|
}
|