@isTest private class InfrastructureProductTriggerHandlerTest { static testMethod void testShare(){ ControllerUtil.EscapeNFM001Trigger = true; ControllerUtil.EscapeMaintenanceContractAfterUpdateTrigger = true; StaticParameter.EscapeNFM001Trigger = true; StaticParameter.EscapeNFM001AgencyContractTrigger = true; StaticParameter.EscapeNFM001AgencyContractTrigger2 = true; StaticParameter.EscapeMaintenanceContractAfterUpdateTrigger = true; //医院 List rectHp = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP']; if (rectHp.size() == 0) { return; } //科室 List rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI']; if (rectDpt.size() == 0) { return; } Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin]; User hpOwner = new User(Test_staff__c = true, LastName = 'hp', FirstName = 'owner', Alias = 'hp', Work_Location__c = '北京', 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 = p.id); insert hpOwner; User hpOwner2 = new User(Test_staff__c = true, LastName = 'hp2', FirstName = 'owner', Alias = 'hp2', Work_Location__c = '北京', CommunityNickname = 'hpOwner2', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner2@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); insert hpOwner2; // 医院 Account hp = new Account(RecordTypeId = rectHp[0].Id, Name = 'hp', OwnerId = hpOwner.Id); hp.GI_Main__c = hpOwner.Id; hp.GI_Product_Leader__c = hpOwner2.Alias; hp.BF_owner__c = hpOwner.Id; hp.BF_Product_Leader__c = hpOwner2.Alias; hp.ENT_owner_ID__c = hpOwner.Id; hp.ENT_Product_Leader__c = hpOwner2.Alias; hp.URO_owner_ID__c = hpOwner.Id; hp.URO_Produc_Leader__c = hpOwner2.Alias; hp.SP_Main__c = hpOwner.Id; hp.GS_Product_Leader__c = hpOwner2.Alias; hp.GYN_owner__c = hpOwner.Id; hp.GYN_Product_Leader__c = hpOwner2.Alias; hp.FSE_GI_Main_Leader__c = hpOwner.Id; hp.FSE_SP_Main_Leader__c = hpOwner.Id; hp.Is_Active__c = '有効'; insert hp; OCM_Management_Province__c mp = new OCM_Management_Province__c(); mp.Name = '北京'; mp.GI_assistant__c = hpOwner.Id; mp.SP_assistant__c = hpOwner.Id; mp.Window1__c = hpOwner.Id; insert mp; Infrastructure_Project__c project = new Infrastructure_Project__c(); project.Name = 'Test'; project.Province__c = '北京市'; project.City__c = '北京市'; insert project; project.OCSM_Hospital__c = hp.Id; update project; } static testMethod void testOpportunityFollow(){ ControllerUtil.EscapeNFM001Trigger = true; ControllerUtil.EscapeMaintenanceContractAfterUpdateTrigger = true; StaticParameter.EscapeNFM001Trigger = true; StaticParameter.EscapeNFM001AgencyContractTrigger = true; StaticParameter.EscapeNFM001AgencyContractTrigger2 = true; StaticParameter.EscapeMaintenanceContractAfterUpdateTrigger = true; //医院 List rectHp = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP']; if (rectHp.size() == 0) { return; } //科室 List rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI']; if (rectDpt.size() == 0) { return; } Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin]; User hpOwner = new User(Test_staff__c = true, LastName = 'hp', FirstName = 'owner', Alias = 'hp', Work_Location__c = '北京', 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 = p.id); insert hpOwner; User hpOwner2 = new User(Test_staff__c = true, LastName = 'hp2', FirstName = 'owner', Alias = 'hp2', Work_Location__c = '北京', CommunityNickname = 'hpOwner2', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner2@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); insert hpOwner2; // 医院 Account hp = new Account(RecordTypeId = rectHp[0].Id, Name = 'hp', OwnerId = hpOwner.Id); hp.GI_Main__c = hpOwner.Id; hp.GI_Product_Leader__c = hpOwner2.Alias; hp.BF_owner__c = hpOwner.Id; hp.BF_Product_Leader__c = hpOwner2.Alias; hp.ENT_owner_ID__c = hpOwner.Id; hp.ENT_Product_Leader__c = hpOwner2.Alias; hp.URO_owner_ID__c = hpOwner.Id; hp.URO_Produc_Leader__c = hpOwner2.Alias; hp.SP_Main__c = hpOwner.Id; hp.GS_Product_Leader__c = hpOwner2.Alias; hp.GYN_owner__c = hpOwner.Id; hp.GYN_Product_Leader__c = hpOwner2.Alias; hp.FSE_GI_Main_Leader__c = hpOwner.Id; hp.FSE_SP_Main_Leader__c = hpOwner.Id; insert hp; Account sct = [Select Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c from Account where Parent.Id = :hp.Id and RecordTypeId = :Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_Class_BF').getRecordTypeId() Limit 1]; Account depart = new Account(); depart.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_BF').getRecordTypeId(); depart.Name = '*'; depart.Department_Name__c = 'aiueo診療科'; depart.ParentId = sct.Id; depart.Department_Class__c = sct.Id; depart.Hospital__c = hp.Id; insert depart; Infrastructure_Project__c project = new Infrastructure_Project__c(); project.Name = 'Test'; project.Province__c = '北京市'; project.City__c = '北京市'; insert project; StaticParameter.EscapeOpportunityBefUpdTrigger = true; StaticParameter.EscapeOppandStaTrigger = true; Opportunity opp = new Opportunity(OwnerId = hpOwner.Id , Name = 'aiueo商談', StageName = '引合', CloseDate=Date.today().addDays(200), AccountId = hp.Id,Department_Class__c = depart.id); opp.Infrastructure_Project__c = project.Id; insert opp; } }