@isTest private class Opportunity_Shipments_ForecastBatchTest { static testMethod void test_method_OSF() { List rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 呼吸科']; if (rectSct.size() == 0) { return; } List rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科']; if (rectDpt.size() == 0) { return; } // テストデータ Account company = new Account(); company.RecordTypeId = rectCo[0].Id; company.Name = 'NFM206TestCompany'; upsert company; Account section = new Account(); section.RecordTypeId = rectSct[0].Id; section.Name = '*'; section.Department_Class_Label__c = '消化科'; section.ParentId = company.Id; section.Hospital_Department_Class__c = company.Id; upsert section; Account depart = new Account(); depart.RecordTypeId = rectDpt[0].Id; depart.Name = '*'; depart.Department_Name__c = 'NFM206TestDepart'; depart.ParentId = section.Id; depart.Department_Class__c = section.Id; depart.Hospital__c = company.Id; upsert depart; Date today = Date.today(); Date lastDate1 = Date.today().addMonths(1); Date lastDate2 = Date.today().addMonths(2); Date lastDate3 = Date.today().addMonths(3); Opportunity opp = new Opportunity(); opp.AccountId = depart.Id; opp.Department_Class__c = section.Id; opp.Hospital__c = company.Id; opp.SAP_Send_OK__c = false; opp.Name = 'GZ-SP-NFM009_0'; opp.Trade__c = '内貿'; opp.StageName = '引合'; opp.CloseDate = lastDate1; opp.Close_Forecasted_Date__c = lastDate1; opp.Stock_apply_status__c = '申请中'; insert opp; //List oopList = [select Id,Opportunity_No__c from Opportunity where Id = opp.Id] List oppIds = new List(); //oppIds.add(oopList[0].); List opps = [select Opportunity_No__c from Opportunity where Close_Forecasted_Date__c >= :Date.today() and Close_Forecasted_Date__c <= :Date.today().addMonths(2)]; System.assertEquals(1, opps.size()); oppIds.add(opps[0].Opportunity_No__c); Id execBTId = null; System.Test.StartTest(); execBTId = Database.executeBatch(new Opportunity_Shipments_ForecastBatch(oppIds)); execBTId = Database.executeBatch(new Opportunity_Shipments_ForecastBatch('20190101')); execBTId = Database.executeBatch(new Opportunity_Shipments_ForecastBatch()); System.Test.StopTest(); } }