刘光辉
4 小时以前 06f314545ac3514d7ce28939920866ae8188d31c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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))));
    }
}