刘光辉
118 分钟以前 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
package jnpf.flowable.service.dev;
 
import jnpf.flowable.model.templatenode.nodejson.NodeModel;
import org.junit.Test;
import java.util.*;
import static org.junit.Assert.*;
 
public class DevApprovalValidationTest {
    @Test public void zeroAndFalseAreValidWhileEmptySelectionsAreNot() {
        for (Object value : Arrays.asList("", "  ", "[]", "null", List.of(), Map.of(), new String[0])) {
            assertTrue(DevApprovalValidation.empty(value));
        }
        assertFalse(DevApprovalValidation.empty(0));
        assertFalse(DevApprovalValidation.empty(false));
        assertFalse(DevApprovalValidation.empty(List.of("department")));
    }
    @Test public void reportsExactChildRowAndLeavesOptionalFieldsAlone() {
        NodeModel node = new NodeModel();
        node.setFormOperates(Arrays.asList(Map.of("id", "records-file", "name", "记录文件", "required", true),
                Map.of("id", "scope", "required", false)));
        List<String> missing = DevApprovalValidation.missing(node, Map.of("records", Arrays.asList(Map.of("file", "a.pdf"), Map.of())));
        assertEquals(1, missing.size());
        assertTrue(missing.get(0).contains("第2行"));
    }
    @Test public void emptyOptionalChildTableHasNoRequiredFieldInstances() {
        NodeModel node = new NodeModel();
        node.setFormOperates(List.of(Map.of("id", "records-file", "required", true)));
        assertEquals(0, DevApprovalValidation.missing(node, Map.of("records", List.of())).size());
    }
}