@isTest private class OpportunityAndContactDailyUpdateTest { @testsetup private static void setup (){ string profid = '00e10000000Y3o5'; string rectHpID = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId(); List classDeptStr = new List(); classDeptStr.add('Department_Class_GI'); classDeptStr.add('Department_Class_ET'); classDeptStr.add('Department_Class_BF'); classDeptStr.add('Department_Class_GS'); classDeptStr.add('Department_Class_URO'); classDeptStr.add('Department_Class_GYN'); classDeptStr.add('Department_Class_ENT'); classDeptStr.add('Department_Class_OTH'); List rectDept = [select Id,developername from RecordType where IsActive = true and SobjectType = 'Account' and developername in:classDeptStr]; Map classDeptMap = new Map(); for(String Str : classDeptStr){ for(RecordType rt : rectDept){ if(rt.developername == Str){ classDeptMap.put(Str, rt.Id); } } } User hpOwner = new User(Test_staff__c = true, LastName = 'hp', FirstName = 'owner', Alias = 'hp', CommunityNickname = 'hpOwner', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = profid); insert hpOwner; List insertUser = new List(); user UserGI = New User( Alias = 'GI_User', Email='GI_User@testorg.com', EmailEncodingKey='UTF-8', LastName='testUserGI', Firstname ='GI', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = System.Label.ProfileId_SystemAdmin, TimeZoneSidKey='Asia/Shanghai', UserName='testUserGI@testorg.com'); insertUser.add(UserGI); user UserET = New User( Alias = 'ET_User', Email='ET_User@testorg.com', EmailEncodingKey='UTF-8', LastName='testUserET', Firstname ='ET', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = System.Label.ProfileId_SystemAdmin, TimeZoneSidKey='Asia/Shanghai', UserName='testUserET@testorg.com'); insertUser.add(UserET); user UserBF = New User( Alias = 'BF_User', Email='BF_User@testorg.com', EmailEncodingKey='UTF-8', LastName='testUserBF', Firstname ='BF', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = System.Label.ProfileId_SystemAdmin, TimeZoneSidKey='Asia/Shanghai', UserName='testUserBF@testorg.com'); insertUser.add(UserBF); user UserGS = New User( Alias = 'SP_User', Email='SP_User@testorg.com', EmailEncodingKey='UTF-8', LastName='testUserGS', Firstname ='GS', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = System.Label.ProfileId_SystemAdmin, TimeZoneSidKey='Asia/Shanghai', UserName='testUserGS@testorg.com'); insertUser.add(UserGS); user UserURO = New User( Alias = 'URO_User', Email='URO_User@testorg.com', EmailEncodingKey='UTF-8', LastName='testUserURO', Firstname ='URO', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = System.Label.ProfileId_SystemAdmin, TimeZoneSidKey='Asia/Shanghai', UserName='testUserURO@testorg.com'); insertUser.add(UserURO); user UserGYN = New User( Alias = 'GYN_User', Email='GYN_User@testorg.com', EmailEncodingKey='UTF-8', LastName='testUserGYN', Firstname ='GYN', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = System.Label.ProfileId_SystemAdmin, TimeZoneSidKey='Asia/Shanghai', UserName='testUserGYN@testorg.com'); insertUser.add(UserGYN); user UserENT = New User( Alias = 'ENT_User', Email='ENT_User@testorg.com', EmailEncodingKey='UTF-8', LastName='testUserENT', Firstname ='ENT', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = System.Label.ProfileId_SystemAdmin, TimeZoneSidKey='Asia/Shanghai', UserName='testUserENT@testorg.com'); insertUser.add(UserENT); user UserFSE = New User( Alias = 'FSEUser', Email='FSE_User@testorg.com', EmailEncodingKey='UTF-8', LastName='testUserFSE', Firstname ='FSE', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = System.Label.ProfileId_SystemAdmin, TimeZoneSidKey='Asia/Shanghai', UserName='testUserFSE@testorg.com'); insertUser.add(UserFSE); insert insertUser; integer i = 0; Map NameTOno = New Map(); for(user usr : insertUser){ NameTOno.put(usr.Id, usr.Employee_No__c); } Account Hospital = new Account( name = 'Test Hospital', RecordTypeId = rectHpId, FSE_Main__c = UserFSE.Id, ENT_owner_ID__c = UserENT.Id, GYN_owner__c = UserGYN.Id, URO_owner_ID__c = UserURO.Id, SP_Main__c = UserGS.Id, BF_owner__c = UserBF.Id, ET_owner__c = UserET.Id, GI_Main__c = UserGI.Id, Is_Active__c ='有効' ); insert Hospital; List dcs = [Select Id, Name, Department_Class_Label__c from Account where Parent.Id = :Hospital.Id and Department_Class_Label__c = '呼吸科']; Account depart = new Account(); depart.RecordTypeId = '01210000000QfmR'; depart.Name = '*'; depart.Department_Name__c = '診療科'; depart.ParentId = dcs[0].Id; depart.Department_Class__c = dcs[0].Id; depart.Hospital__c = Hospital.Id; depart.OwnerId = UserGS.Id; insert depart; Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe', lastname='Plumber', accountid=depart.id); insert core; Opportunity target = new Opportunity( Name = 'aiueo', StageName = 'contact', CloseDate = Date.today(), accountid=depart.id); target.Trade__c = '内貿'; target.CurrencyIsoCode = 'CNY'; target.Wholesale_Price__c = 9000; target.Sales_Root__c = 'AAA'; insert target; } static testMethod void testMethod1() { list acclist = [select id from account where name ='Test Hospital']; Id execBTId = Database.executeBatch(new OpportunityAndContactDailyUpdateBatch(), 5); execBTId = Database.executeBatch(new OpportunityAndContactDailyUpdateBatch('1.华北'), 5); execBTId = Database.executeBatch(new OpportunityAndContactDailyUpdateBatch(10, acclist[0].id, acclist[0].id, acclist[0].id, acclist[0].id, acclist[0].id) , 5); execBTId = Database.executeBatch(new OpportunityAndContactDailyUpdateBatch(), 5); } }