liuyn
2024-03-11 a87f1c3df03078814ee97ad0c8ac200a232419e9
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
@isTest
private class InventoryBatchMappingSettingTest {
    @IsTest
    static void testMethod1() {
        Set<String> fromCol = new Set<String>();
        Set<String> toCol = new Set<String>();
        Inventory_Batch_Mapping__mdt columns = [select From_Columns__c, Inventory_Columns__c from Inventory_Batch_Mapping__mdt where DeveloperName = 'Asset'];
        Boolean b1 = String.isNotBlank(columns.From_Columns__c);
        Boolean b2 = String.isNotBlank(columns.Inventory_Columns__c);
        system.assert(b1 && b2, '保有设备设置From,To的项目为空');
 
        List<String> keyList = columns.From_Columns__c.split(',');
        List<String> valueList = columns.Inventory_Columns__c.split(',');
        system.assertEquals(keyList.size(), valueList.size(), '保有设备设置From,To的项目数量不一致');
        for (Integer i = 0; i < keyList.size(); i++) {
            fromCol.add(keyList[i]);
            toCol.add(valueList[i]);
        }
 
        String queryStr = 'select '+ String.join(new List<String>(fromCol), ', ') + ' from Asset limit 1';
        try {
            Database.query(queryStr);
        } catch(Exception ex) {
            system.assert(false, ex);
        }
 
        queryStr = 'select '+ String.join(new List<String>(toCol), ', ') + ' from Inventory_Detail__c limit 1';
        try {
            Database.query(queryStr);
        } catch(Exception ex) {
            system.assert(false, ex);
        }
        
 
        columns = [select From_Columns__c, Inventory_Columns__c from Inventory_Batch_Mapping__mdt where DeveloperName = 'Repair'];
        b1 = String.isNotBlank(columns.From_Columns__c);
        b2 = String.isNotBlank(columns.Inventory_Columns__c);
        system.assert(b1 && b2, '修理设置From,To的项目为空');
 
        keyList = columns.From_Columns__c.split(',');
        valueList = columns.Inventory_Columns__c.split(',');
        system.assertEquals(keyList.size(), valueList.size(), '修理设置From,To的项目数量不一致');
        fromCol.clear();
        toCol.clear();
        for (Integer i = 0; i < keyList.size(); i++) {
            fromCol.add(keyList[i]);
            toCol.add(valueList[i]);
        }
 
        queryStr = 'select '+ String.join(new List<String>(fromCol), ', ') + ' from Repair__c limit 1';
        try {
            Database.query(queryStr);
        } catch(Exception ex) {
            system.assert(false, ex);
        }
 
        queryStr = 'select '+ String.join(new List<String>(toCol), ', ') + ' from Inventory_Detail__c limit 1';
        try {
            Database.query(queryStr);
        } catch(Exception ex) {
            system.assert(false, ex);
        }
 
        columns = [select From_Columns__c, Inventory_Columns__c from Inventory_Batch_Mapping__mdt where DeveloperName = 'RAESD'];
        b1 = String.isNotBlank(columns.From_Columns__c);
        b2 = String.isNotBlank(columns.Inventory_Columns__c);
        system.assert(b1 && b2, '借出一览明细设置From,To的项目为空');
 
        keyList = columns.From_Columns__c.split(',');
        valueList = columns.Inventory_Columns__c.split(',');
        system.assertEquals(keyList.size(), valueList.size(), '借出一览明细设置From,To的项目数量不一致');
        fromCol.clear();
        toCol.clear();
        for (Integer i = 0; i < keyList.size(); i++) {
            fromCol.add(keyList[i]);
            toCol.add(valueList[i]);
        }
 
        queryStr = 'select '+ String.join(new List<String>(fromCol), ', ') + ' from Rental_Apply_Equipment_Set_Detail__c limit 1';
        try {
            Database.query(queryStr);
        } catch(Exception ex) {
            system.assert(false, ex);
        }
 
        queryStr = 'select '+ String.join(new List<String>(toCol), ', ') + ' from Inventory_Detail__c limit 1';
        try {
            Database.query(queryStr);
        } catch(Exception ex) {
            system.assert(false, ex);
        }
    }
}