@isTest
|
private class SBGITMRestNewTest {
|
public static Product2 prd1;
|
public static Product2 prd2;
|
public static Product2 prd3;
|
public static Product2 prd4;
|
public static Product2 prd5;
|
|
static void inittransfersData() {
|
prd1 = new Product2();
|
prd1.Product_ECCode__c = 'testSBG001';
|
prd1.ProductCode = 'SBGITMTst1';
|
prd1.Name = 'testSBG001';
|
prd1.IsActive = true;
|
prd1.MaterialStatus_one_Start__c = Date.today().addDays(-2);
|
prd1.MaterialStatus_one_End__c = Date.today().addDays(-1);
|
prd1.MaterialStatus_two_Start__c = Date.today().addDays(-3);
|
prd1.MaterialStatus_two_End__c = Date.today().addDays(-1);
|
|
prd2 = new Product2();
|
prd2.Product_ECCode__c = 'testSBG002';
|
prd2.ProductCode = 'SBGITMTst2';
|
prd2.Name = 'testSBG002';
|
prd2.IsActive = true;
|
prd2.MaterialStatus_one_Start__c = Date.today().addDays(-2);
|
prd2.MaterialStatus_one_End__c = Date.today().addDays(22);
|
prd2.MaterialStatus_two_Start__c = Date.today().addDays(-3);
|
prd2.MaterialStatus_two_End__c = Date.today().addDays(-1);
|
|
prd3 = new Product2();
|
prd3.Product_ECCode__c = 'testSBG002';
|
prd3.ProductCode = 'SBGITMTst22';
|
prd3.Name = 'testSBG002';
|
prd3.IsActive = true;
|
prd3.MaterialStatus_one_Start__c = Date.today().addDays(-2);
|
prd3.MaterialStatus_one_End__c = Date.today().addDays(22);
|
prd3.MaterialStatus_two_Start__c = Date.today().addDays(-3);
|
prd3.MaterialStatus_two_End__c = Date.today().addDays(122);
|
|
prd4 = new Product2();
|
prd4.Product_ECCode__c = 'testSBG002';
|
prd4.ProductCode = 'SBGITMTst222';
|
prd4.Name = 'testSBG002';
|
prd4.IsActive = true;
|
prd4.MaterialStatus_one_Start__c = Date.today().addDays(-2);
|
prd4.MaterialStatus_one_End__c = Date.today().addDays(22);
|
prd4.MaterialStatus_two_Start__c = Date.today().addDays(-3);
|
prd4.MaterialStatus_two_End__c = Date.today().addDays(21);
|
|
prd5 = new Product2();
|
prd5.Product_ECCode__c = 'testSBG002';
|
prd5.ProductCode = 'SBGITMTst222';
|
prd5.Name = 'testSBG002';
|
prd5.IsActive = true;
|
prd5.MaterialStatus_one_Start__c = Date.today().addDays(-2);
|
prd5.MaterialStatus_one_End__c = Date.today().addDays(22);
|
prd5.MaterialStatus_two_Start__c = Date.today().addDays(-3);
|
prd5.MaterialStatus_two_End__c = Date.today().addDays(21);
|
insert new Product2[] {prd1, prd2,prd3,prd4};
|
|
List<BatchIF_Transfer__c> transfers = new List<BatchIF_Transfer__c>();
|
BatchIF_Transfer__c transfer = new BatchIF_Transfer__c();
|
transfer = new BatchIF_Transfer__c();
|
transfer.Table__c = 'Product2';
|
transfer.Column__c = 'RadiationType__c';
|
transfer.External_Value__c = 'D';
|
transfer.Internal_Value__c = 'Delta';
|
transfers.add(transfer);
|
|
transfer = new BatchIF_Transfer__c();
|
transfer.Table__c = 'Product2';
|
transfer.Column__c = 'RadiationType__c';
|
transfer.External_Value__c = 'V';
|
transfer.Internal_Value__c = 'Venta';
|
transfers.add(transfer);
|
|
//transfer = new BatchIF_Transfer__c();
|
//transfer.Table__c = 'Product2';
|
//transfer.Column__c = 'RadiationType__c';
|
//transfer.External_Value__c = 'DV';
|
//transfer.Internal_Value__c = 'Delta+Venta';
|
//transfers.add(transfer);
|
|
transfer = new BatchIF_Transfer__c();
|
transfer.Table__c = 'Product2';
|
transfer.Column__c = 'RadiationType__c';
|
transfer.External_Value__c = 'F';
|
transfer.Internal_Value__c = 'FOX-IQ';
|
transfers.add(transfer);
|
|
insert transfers;
|
}
|
@isTest
|
static void testSBGITM_insert() {
|
inittransfersData();
|
Id pricebookId = ControllerUtil.getStandardPricebook().Id;
|
SBGITMRestNew.GeDatas GeDatas = new SBGITMRestNew.GeDatas();
|
SBGITMRestNew.GeData GeData = new SBGITMRestNew.GeData();
|
SBGITMRestNew.GeData GeData2 = new SBGITMRestNew.GeData();
|
SBGITMRestNew.GeData GeData3 = new SBGITMRestNew.GeData();
|
SBGITMRestNew.GeData GeData4 = new SBGITMRestNew.GeData();
|
SBGITMRestNew.GeData GeData5 = new SBGITMRestNew.GeData();
|
GeDatas.GeData = new SBGITMRestNew.GeData[] { GeData, GeData2,GeData3,GeData4,GeData5 };
|
// Monitoringの設定
|
Datetime nowDT = Datetime.now();
|
String nowStr = nowDT.format('yyyyMMddHHmm');
|
GeDatas.Monitoring = new NFMUtil.Monitoring();
|
GeDatas.Monitoring.MessageGroupNumber = nowStr + '11';
|
|
// insert
|
GeData.ProductCode = 'SBGITMTst3';
|
GeData.ProductDescription = 'ABCD1234:ABC';
|
GeData.ProductStatus = '1';
|
GeData.EffectiveDateTo = '20121101';
|
GeData.Exemption = '1';
|
GeData.IsRadiant = '1';
|
GeData.StatusEffectiveDateFrom = '20200522';
|
GeData.ZCHG_STATUS = '9';
|
GeData.ProSerial = 'D';
|
|
|
// insert2
|
GeData2.ProductCode = 'SBGITMTst4';
|
GeData2.ProductDescription = 'ABCD12345:ABC';
|
GeData2.ProductStatus = '0';
|
GeData2.EffectiveDateTo = '20121101';
|
GeData2.Exemption = '1';
|
GeData2.IsRadiant = '1';
|
GeData2.ZCHG_STATUS = '1';
|
GeData2.ProSerial = 'D';
|
// insert3
|
GeData3.ProductCode = 'SBGITMTst5';
|
GeData3.ProductDescription = 'ABCD123456:ABC';
|
GeData3.ProductStatus = '0';
|
GeData3.EffectiveDateTo = '20121101';
|
GeData3.Exemption = '1';
|
GeData3.IsRadiant = '1';
|
GeData3.ZCHG_STATUS = '2';
|
GeData3.ProSerial = 'D';
|
|
// insert4
|
GeData4.ProductCode = 'SBGITMTst6';
|
GeData4.ProductDescription = 'ABCD1234567:ABC';
|
GeData4.ProductStatus = '0';
|
GeData4.EffectiveDateTo = '20121101';
|
GeData4.Exemption = '1';
|
GeData4.IsRadiant = '1';
|
GeData4.ZCHG_STATUS = '3';
|
GeData4.ProSerial = 'D';
|
|
// insert5
|
GeData5.ProductCode = 'SBGITMTst7';
|
GeData5.ProductDescription = '';
|
GeData5.ProductStatus = '1';
|
GeData5.EffectiveDateTo = '20121101';
|
GeData5.Exemption = '1';
|
GeData5.IsRadiant = '1';
|
GeData5.StatusEffectiveDateFrom = '20200522';
|
GeData5.ZCHG_STATUS = '1';
|
GeData5.ProSerial = 'D';
|
|
System.Test.startTest();
|
BatchIF_Log__c rowData = NFMUtil.saveRowData(GeDatas.Monitoring, 'SBGITM', GeDatas.GeData);
|
SBGITMRestNew.executefuture(rowData.Id);
|
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('SBGITMTst3', 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('SBGITMTst4', rslts[0].ProductCode);
|
System.assertEquals('ABC', rslts[0].Name);
|
}
|
}
|
|
@isTest
|
static void testSBGITM_update() {
|
inittransfersData();
|
Id pricebookId = ControllerUtil.getStandardPricebook().Id;
|
SBGITMRestNew.GeDatas GeDatas = new SBGITMRestNew.GeDatas();
|
SBGITMRestNew.GeData GeData = new SBGITMRestNew.GeData();
|
GeDatas.GeData = new SBGITMRestNew.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';
|
GeData.Exemption = '1';
|
GeData.IsRadiant = '1';
|
GeData.StatusEffectiveDateFrom = '20200522';
|
GeData.ZCHG_STATUS = '3';
|
GeData.ProSerial = 'D';
|
|
// insert
|
GeData.ProductCode = 'SBGITMTst2';
|
GeData.ProductDescription = 'ABCD1234:ABC';
|
GeData.ProductStatus = '1';
|
GeData.EffectiveDateTo = '20121101';
|
GeData.Exemption = '1';
|
GeData.IsRadiant = '1';
|
GeData.StatusEffectiveDateFrom = '20200522';
|
GeData.ZCHG_STATUS = '3';
|
GeData.ProSerial = 'D';
|
|
// insert
|
GeData.ProductCode = 'SBGITMTst22';
|
GeData.ProductDescription = 'ABCD1234:ABC';
|
GeData.ProductStatus = '1';
|
GeData.EffectiveDateTo = '20121101';
|
GeData.Exemption = '1';
|
GeData.IsRadiant = '1';
|
GeData.StatusEffectiveDateFrom = '20200522';
|
GeData.ZCHG_STATUS = '3';
|
GeData.ProSerial = 'D';
|
|
GeData.ProductCode = 'SBGITMTst222';
|
GeData.ProductDescription = 'ABCD1234:ABC';
|
GeData.ProductStatus = '1';
|
GeData.EffectiveDateTo = '20121101';
|
GeData.Exemption = '1';
|
GeData.IsRadiant = '1';
|
GeData.StatusEffectiveDateFrom = '20200522';
|
GeData.ZCHG_STATUS = '3';
|
GeData.ProSerial = 'D';
|
System.Test.startTest();
|
BatchIF_Log__c rowData = NFMUtil.saveRowData(GeDatas.Monitoring, 'SBGITM', GeDatas.GeData);
|
SBGITMRestNew.executefuture(rowData.Id);
|
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('SBGITMTst222', rslts[0].ProductCode);
|
}
|
}
|
|
@isTest
|
static void testSBGITM_resend() {
|
Id pricebookId = ControllerUtil.getStandardPricebook().Id;
|
SBGITMRestNew.GeDatas GeDatas = new SBGITMRestNew.GeDatas();
|
SBGITMRestNew.GeData GeData = new SBGITMRestNew.GeData();
|
GeDatas.GeData = new SBGITMRestNew.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();
|
BatchIF_Log__c rowData = NFMUtil.saveRowData(GeDatas.Monitoring, 'SBGITM', GeDatas.GeData);
|
SBGITMRestNew.executefuture(rowData.Id);
|
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;
|
|
SBGITMRestNew.executefuture(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(1, bl[0].retry_cnt__c);
|
}
|
|
|
|
@isTest static void test_method_Seven() {
|
|
Test.startTest();
|
|
RestRequest req = new RestRequest();
|
RestResponse res = new RestResponse();
|
|
String JsonMsg = '{"GeDatas": {"Monitoring": {"Tag": "MSGH","Sender": 1330,"Receiver": 1592,"MessageType": "SBGITM","MessageGroupNumber": 331591,"NumberOfRecord": 1,"TransmissionDateTime": 201903251115},"GeData": [{"ProductStatus": "1","ProductDescription": "SP-KIT-WEDGE-MQIV1072:111 ","ProductCode":"U8831946","Other3": "","Other2": "","Other1": "","EffectiveDateTo": "99991231"}]}}';
|
req.requestURI = 'services/apexrest/SBGITM/execute';
|
req.httpMethod = 'POST';
|
req.requestBody = Blob.valueof(JsonMsg);
|
RestContext.request = req;
|
RestContext.response = res;
|
|
SBGITMRestNew.execute();
|
|
Test.stopTest();
|
|
}
|
}
|