GWY
2022-05-21 a3460549533111815e7f73d6cef601a58031525d
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
@isTest
private class SBGITMWebServiceTest {
        @isTest
    static void testSBDITM_void() {
    Id pricebookId = ControllerUtil.getStandardPricebook().Id;
        SBGITMWebService.GeData GeData = new SBGITMWebService.GeData();
        SBGITMWebService.GeDatas GeDatas = new SBGITMWebService.GeDatas();
        GeDatas.GeData = new SBGITMWebService.GeData[] { GeData };
        // 空っぽ1
        SBGITMWebService.SBGITM(GeDatas);
 
        Datetime nowDT = Datetime.now();
        String nowStr = nowDT.format('yyyyMMddHHmm');
        GeDatas.Monitoring = new NFMUtil.Monitoring();
        GeDatas.Monitoring.MessageGroupNumber = nowStr + '01';
        GeData.EffectiveDateTo                            = '29121103';
        GeData.ProductCode                = 'SBGITMTst1';
        SBGITMWebService.SBGITM(GeDatas);
 
        // 必須項目をセットしない
        GeDatas.Monitoring.MessageGroupNumber = nowStr + '02';
        GeData.EffectiveDateTo                            = '29121103';
        GeData.ProductCode                = 'SBGITMTst1';
        SBGITMWebService.SBGITM(GeDatas);
 
        // ZHではない
        GeDatas.Monitoring.MessageGroupNumber = nowStr + '03';
        GeData.ProductCode                = 'SBGITMTst1';
        GeData.ProductDescription      = 'GIF-X0261:stop2012.8::Gastroscopy';
        SBGITMWebService.SBGITM(GeDatas);
 
        Product2[] rslts = [select Id from Product2 where ProductCode = :GeData.ProductCode];
        System.assertEquals(0, rslts.size());
    }
        @isTest
        static void testSBGITM_insert() {
        Id pricebookId = ControllerUtil.getStandardPricebook().Id;
        SBGITMWebService.GeDatas GeDatas = new SBGITMWebService.GeDatas();
        SBGITMWebService.GeData GeData = new SBGITMWebService.GeData();
        SBGITMWebService.GeData GeData2 = new SBGITMWebService.GeData();
        GeDatas.GeData = new SBGITMWebService.GeData[] { GeData, GeData2 };
        // Monitoringの設定
        Datetime nowDT = Datetime.now();
        String nowStr = nowDT.format('yyyyMMddHHmm');
        GeDatas.Monitoring = new NFMUtil.Monitoring();
        GeDatas.Monitoring.MessageGroupNumber = nowStr + '11';
 
        // insert
        GeData.ProductCode                = 'SBGITMTst1';
        GeData.ProductDescription                 = 'ABCD1234:ABC';
        GeData.ProductStatus                    = '1';
        GeData.EffectiveDateTo                      = '20121101';
 
        // insert2
        GeData2.ProductCode                = 'SBGITMTst2';
        GeData2.ProductDescription                 = 'ABCD12345:ABC';
        GeData2.ProductStatus                    = '0';
        GeData2.EffectiveDateTo                      = '20121101';
 
        System.Test.startTest();
        SBGITMWebService.SBGITM(GeDatas);
        System.Test.stopTest();
        Product2[] rslts = [select Id,Name,
                                ProductCode,
                                Product_ECCode__c,
                                EffectiveDateTo__c,
                                ProductModels__c,
                                ProductStatus__c
                              from Product2
                             where Product_ECCode__c = 'ABCD1234'];
        System.assertEquals(1, rslts.size());
        if (rslts.size() == 1) {
            System.assertEquals('SBGITMTst1', rslts[0].ProductCode);
        }
        rslts = [select Id, 
                        ProductCode,Name,
                        Product_ECCode__c,
                        EffectiveDateTo__c,
                        ProductModels__c,
                        ProductStatus__c
                from Product2
                where Product_ECCode__c = 'ABCD12345'];
        System.assertEquals(1, rslts.size());
        if (rslts.size() == 1) {
            System.assertEquals('SBGITMTst2', rslts[0].ProductCode);
            System.assertEquals('ABC', rslts[0].Name);
        }
    }
 
    @isTest
        static void testSBGITM_update() {
        Id pricebookId = ControllerUtil.getStandardPricebook().Id;
        SBGITMWebService.GeDatas GeDatas = new SBGITMWebService.GeDatas();
        SBGITMWebService.GeData GeData = new SBGITMWebService.GeData();
        GeDatas.GeData = new SBGITMWebService.GeData[] { GeData };
        // Monitoringの設定
        Datetime nowDT = Datetime.now();
        String nowStr = nowDT.format('yyyyMMddHHmm');
        GeDatas.Monitoring = new NFMUtil.Monitoring();
        GeDatas.Monitoring.MessageGroupNumber = nowStr + '11';
 
        // insert
        GeData.ProductCode                = 'SBGITMTst1';
        GeData.ProductDescription                 = 'ABCD1234:ABC';
        GeData.ProductStatus                    = '1';
        GeData.EffectiveDateTo                      = '20121101';
 
 
        System.Test.startTest();
        SBGITMWebService.SBGITM(GeDatas);
        System.Test.stopTest();
        Product2[] rslts = [select Id, 
                                ProductCode, 
                                Product_ECCode__c,
                                EffectiveDateTo__c,
                                ProductModels__c,
                                ProductStatus__c
                              from Product2
                             where Product_ECCode__c = 'ABCD1234'];
        System.assertEquals(1, rslts.size());
        if (rslts.size() == 1) {
            System.assertEquals('SBGITMTst1', rslts[0].ProductCode);
        }
    }
 
    @isTest
        static void testSBGITM_resend() {
        Id pricebookId = ControllerUtil.getStandardPricebook().Id;
        SBGITMWebService.GeDatas GeDatas = new SBGITMWebService.GeDatas();
        SBGITMWebService.GeData GeData = new SBGITMWebService.GeData();
        GeDatas.GeData = new SBGITMWebService.GeData[] { GeData };
        // Monitoringの設定
        Datetime nowDT = Datetime.now();
        String nowStr = nowDT.format('yyyyMMddHHmm');
        GeDatas.Monitoring = new NFMUtil.Monitoring();
        GeDatas.Monitoring.MessageGroupNumber = nowStr + '11';
 
        // insert
        GeData.ProductCode                = 'SBGITMTst1';
        GeData.ProductDescription                 = 'ABCD1234:ABC';
        GeData.ProductStatus                    = '1';
        GeData.EffectiveDateTo                      = '20121101';
 
 
        System.Test.startTest();
        SBGITMWebService.SBGITM(GeDatas);
        System.Test.stopTest();
        Product2[] rslts = [select Id, 
                                ProductCode, 
                                Product_ECCode__c,
                                EffectiveDateTo__c,
                                ProductModels__c,
                                ProductStatus__c
                              from Product2
                             where Product_ECCode__c = 'ABCD1234'];
        System.assertEquals(1, rslts.size());
        if (rslts.size() == 1) {
            System.assertEquals('SBGITMTst1', rslts[0].ProductCode);
        }
        List<BatchIF_Log__c> rowbl = [Select Id, Log__c,
                                            ErrorLog__c
                                        from BatchIF_Log__c
                                        where RowDataFlg__c = true
                                        and Type__c = 'SBGITM'
                                        order by CreatedDate desc];
        List<BatchIF_Log__c> rowbl1 = [Select Id, Log__c,
                                            ErrorLog__c
                                        from BatchIF_Log__c
                                        where RowDataFlg__c = true
                                        order by CreatedDate desc];
        System.debug(rowbl1);
        System.assertEquals(1, rowbl.size());
        rowbl[0].retry_cnt__c = 1;
        update rowbl;
 
        SBGITMWebService.execute(rowbl[0].id);
 
        List<BatchIF_Log__c> bl = [Select Id, Is_Error__c,
                Type__c, Log__c, ErrorLog__c,retry_cnt__c
                from BatchIF_Log__c
                where Id = :rowbl[0].id];
        System.assertEquals(1, bl.size());
        System.assertEquals(0, bl[0].retry_cnt__c);
    }
}