@isTest private class NFM601ControllerTest { @testSetup static void makeTestRepair() { List < RecordType > rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院' ]; if (rectCo.size() == 0) { throw new ControllerUtil.myException('not found 病院 recodetype'); } List < RecordType > rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 消化科' ]; if (rectSct.size() == 0) { throw new ControllerUtil.myException('not found 戦略科室分類 呼吸科 recodetype'); } List < RecordType > rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科' ]; if (rectDpt.size() == 0) { throw new ControllerUtil.myException('not found 診療科 消化科 recodetype'); } // テストデータ Account company = new Account(); company.RecordTypeId = rectCo[0].Id; company.Is_Active__c = '有効'; company.Name = 'NFM105TestCompany'; company.AwaitToSendAWS__c = true; upsert company; Account section = [Select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where ParentId =: company.Id and RecordTypeId =: rectSct[0].Id]; Account depart = new Account(); depart.RecordTypeId = rectDpt[0].Id; depart.Name = '*'; depart.Department_Name__c = 'NFM105TestDepart'; depart.ParentId = section.Id; depart.Department_Class__c = section.Id; depart.Hospital__c = company.Id; upsert depart; company.Site = '测试变更别名1'; upsert company; List < RecordType > rectDpt2 = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Agency' ]; if (rectDpt.size() == 0) { throw new ControllerUtil.myException('not found 診療科 消化科 recodetype'); } ControllerUtil.EscapeNFM001Trigger = true; StaticParameter.EscapeNFM001AgencyContractTrigger2 = true; Account company2 = new Account(); company2.RecordTypeId = rectDpt2[0].Id; company2.Name = 'NFM105TestCompany'; upsert company2; License_Information__c lic = new License_Information__c(); lic.name = 'Test20181204'; lic.LicenseType__c = '医疗器械经营许可证'; lic.BusinessLicense__c = '20180522'; lic.ValidFrom__c = date.newinstance(2018, 05, 22); lic.ValidTo__c = date.newinstance(2018, 05, 22); lic.Scope3__c = '6815;6822;6823;6825'; lic.IsInquire__c = false; lic.LicenseAndAccount__c = company2.Id; insert lic; License_Information__c lic1 = new License_Information__c(); lic1.name = 'Test20190111'; lic1.LicenseType__c = '第二类医疗器械经营备案凭证'; lic1.BusinessLicense__c = '20190522'; lic1.ValidFrom__c = date.newinstance(2018, 05, 21); lic1.ValidTo__c = date.newinstance(2018, 05, 21); lic.IsInquire__c = false; lic1.Scope__c = '6815;6822;6823;6825'; lic1.LicenseAndAccount__c = company2.Id; insert lic1; List < RecordType > rectDptAgencyContract = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'AgencyContract' ]; if (rectDptAgencyContract.size() == 0) { return; } Account AagencyContractAccount = new Account(); AagencyContractAccount.RecordTypeId = rectDptAgencyContract[0].Id; AagencyContractAccount.Contract_Decide_Start_Date__c = System.today(); AagencyContractAccount.Contract_Decide_End_Date__c = System.today(); AagencyContractAccount.Contract_End_Date__c = Date.today(); AagencyContractAccount.Name = '*'; AagencyContractAccount.Department_Name__c = 'NFM601TestDepart'; AagencyContractAccount.ParentId = company2.Id; AagencyContractAccount.Agent_Ref__c = company2.Id; AagencyContractAccount.ET_SP_Dealer__c = true; upsert AagencyContractAccount; List < BatchIF_Transfer__c > transfers = new List < BatchIF_Transfer__c > (); BatchIF_Transfer__c transfer = new BatchIF_Transfer__c(); transfer.Table__c = 'Account'; transfer.Column__c = 'RecordTypeId'; transfer.External_Value__c = rectDpt[0].Id; transfer.Internal_Value__c = '消化科'; insert transfer; BatchIF_Log__c iflog = new BatchIF_Log__c(); iflog.Log__c = '{"GeData":[{"HospitalInfoData":[{"StrategicDeptCode":"","Province":"CN-05","ParentCode":"360155呼吸科","HospitalRank":"L","HospitalName":"忻州市二八二医院 呼吸科 呼吸一科","HospitalCode":"","DeptType":"BF","DeptCode":"8087357","City":"CN-0567","Area":"3.西北","Accounttype":"3"}],"DealerInfoData":[]}]}'; iflog.Type__c = '601test'; insert iflog; } @isTest static void testCallOut1() { List < Account > userList = [select id from Account]; Test.startTest(); List < Id > idList = new List < Id > (); for (Account user: userList) { idList.add(user.Id); } BatchIF_Log__c iflog = new BatchIF_Log__c(); iflog.Log__c = 'test start \n'; insert iflog; NFM601Controller.callout(iflog.Id, idList); Test.stopTest(); } // @isTest // static void testCallOut2() { // List < Account > userList = [select id from Account]; // Test.startTest(); // List < Id > idList = new List < Id > (); // for (Account user: userList) { // idList.add(user.Id); // } // NFM601Controller.executefuture(null, idList); // Test.stopTest(); // } @isTest static void testcallout3() { BatchIF_Log__c iflog = [select id from BatchIF_Log__c where Type__c = '601test']; NFM601Controller.ManualExecute(iflog.Id); } @isTest static void testcallout4() { // BatchIF_Log__c iflog = [select id from BatchIF_Log__c where Type__c = '601test']; // NFM601Controller.ManualExecute(iflog.Id); Database.executeBatch(new Sfdc2PoAccountBatch(),100); } @isTest static void testcallout5() { List < RecordType > rectCo00 = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院' ]; Account hospital = new Account(); hospital.RecordTypeId = rectCo00[0].Id; hospital.Is_Active__c = '有効'; hospital.Name = 'hospital'; hospital.AwaitToSendAWS__c = true; insert hospital; List < String > accountIdList = new List < String >(); accountIdList.add(hospital.Id); Database.executeBatch(new Sfdc2PoAccountBatch(accountIdList),100); } }