@isTest private class SolutionProjectRequirementsTriggerTest { private static User getUser() { String timenow = Datetime.now().format('yyyyMMddHHmmss'); User user1 = new User(Test_staff__c = true, LastName = 'TestMao', FirstName = 'TestMaoF', Alias = 'hp', CommunityNickname = 'TestMao', Email = 'Test@sunbridge.com', Username = 'Test' + timenow + '@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = System.Label.ProfileId_SystemAdmin, Dept__c = '医疗华北营业本部', Job_Category__c = '销售服务', Province__c = '北京'); List p = [Select Id From Profile Where Name = '2S1_销售医院担当']; System.assertEquals(p.size(), 1); System.runAs(new User(Id = Userinfo.getUserId())) { insert user1; } return user1; } static testMethod void testMethod2(){ User user = getUser(); Address_Level__c al = new Address_Level__c(); al.Name = '東京'; al.Level1_Code__c = 'CN-99'; al.Level1_Sys_No__c = '999999'; insert al; Address_Level2__c al2 = new Address_Level2__c(); al2.Level1_Code__c = 'CN-99'; al2.Level1_Sys_No__c = '999999'; al2.Level1_Name__c = '東京'; al2.Name = '渋谷区'; al2.Level2_Code__c = 'CN-9999'; al2.Level2_Sys_No__c = '9999999'; al2.Address_Level__c = al.id; insert al2; List rectHp = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP']; if (rectHp.size() == 0) { return; } List rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_Class_GI']; if (rectSct.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', 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', 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, GI_Product_Leader__c = System.UserInfo.getName().replace(' ', '')); insert hp; Account dc = [select Id, Name, RecordType_DeveloperName__c, Account2__c from Account where ParentId = :hp.Id and RecordType_DeveloperName__c = 'Department_Class_GI']; Account dc2 = [select Id, Name, RecordType_DeveloperName__c, Account2__c from Account where ParentId = :hp.Id and RecordType_DeveloperName__c = 'Department_Class_BF']; // 診療科を作る NFM001Controller.isRunning = false; Account dpt = new Account(RecordTypeId = rectDpt[0].Id); dpt.Name = '*'; dpt.Department_Name__c = 'TestDepart'; dpt.ParentId = dc.Id; dpt.Department_Class__c = dc.Id; dpt.Hospital__c = hp.Id; insert dpt; SolutionProjectRequirements__c solProjecthb = new SolutionProjectRequirements__c(); solProjecthb.Name = 'Test'; solProjecthb.HospitalOwner__c = user.Id; solProjecthb.Sales_Assistant__c = user.Id; solProjecthb.GIR_Assistant__c = user.Id; solProjecthb.Project_Type__c = '新建大楼'; solProjecthb.Purpose_Proposal__c = '促进销售商谈'; solProjecthb.Hospital__c = hp.Id; solProjecthb.Department_Class__c = dpt.Id; insert solProjecthb; } static testMethod void testMethod1() { User user = getUser(); Datetime ocsmDate = Datetime.now(); String ocsmPeriod = ''; if(ocsmDate.month() == 1 || ocsmDate.month() == 2 || ocsmDate.month() == 3){ ocsmPeriod = ocsmPeriod = ocsmDate.year()-1868+'P'; }else{ ocsmPeriod = ocsmDate.year()-1867+'P'; } GIRSolutionAreaNumber__c girsolution = new GIRSolutionAreaNumber__c(); girsolution.Name = ocsmPeriod; girsolution.GIRSolutionXN__c = 1; girsolution.GIRSolutionXB__c = 1; girsolution.GIRSolutionDB__c = 1; girsolution.GIRSolutionHN__c = 1; girsolution.GIRSolutionHB__c = 1; girsolution.GIRSolutionHD__c = 1; // girsolution.Name = 'daqu'; insert girsolution; 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; } List addrressList = new List(); Address_Level__c addresshb = new Address_Level__c(); addresshb.Level1_Code__c = 'CN-01'; addrressList.add(addresshb); Address_Level__c addressxb = new Address_Level__c(); addressxb.Level1_Code__c = 'CN-03'; addrressList.add(addressxb); Address_Level__c addressdb = new Address_Level__c(); addressdb.Level1_Code__c = 'CN-13'; addrressList.add(addressdb); Address_Level__c addresshd = new Address_Level__c(); addresshd.Level1_Code__c = 'CN-16'; addrressList.add(addresshd); Address_Level__c addresshn = new Address_Level__c(); addresshn.Level1_Code__c = 'CN-22'; addrressList.add(addresshn); Address_Level__c addressxn = new Address_Level__c(); addressxn.Level1_Code__c = 'CN-25'; addrressList.add(addressxn); insert addrressList; List acclist = new List(); Account companyHb = new Account(); companyHb.RecordTypeId = rectCo[0].Id; companyHb.AgentCode_Ext__c = '99999991'; companyHb.Name = 'GIRTestCompany'; companyHb.State_Master__c = addresshb.Id; acclist.add(companyHb); Account companyxb = new Account(); companyxb.RecordTypeId = rectCo[0].Id; companyxb.AgentCode_Ext__c = '99999992'; companyxb.Name = 'GIRTestCompany'; companyxb.State_Master__c = addressxb.Id; acclist.add(companyxb); Account companydb = new Account(); companydb.RecordTypeId = rectCo[0].Id; companydb.AgentCode_Ext__c = '99999993'; companydb.Name = 'GIRTestCompany'; companydb.State_Master__c = addressdb.Id; acclist.add(companydb); Account companyhd = new Account(); companyhd.RecordTypeId = rectCo[0].Id; companyhd.AgentCode_Ext__c = '99999994'; companyhd.Name = 'GIRTestCompany'; companyhd.State_Master__c = addresshd.Id; acclist.add(companyhd); Account companyHn = new Account(); companyHn.RecordTypeId = rectCo[0].Id; companyHn.AgentCode_Ext__c = '99999995'; companyHn.Name = 'GIRTestCompany'; companyHn.State_Master__c = addresshn.Id; acclist.add(companyHn); Account companyxn = new Account(); companyxn.RecordTypeId = rectCo[0].Id; companyxn.AgentCode_Ext__c = '99999996'; companyxn.Name = 'GIRTestCompany'; companyxn.State_Master__c = addressxn.Id; acclist.add(companyxn); insert acclist; List solproList = new List(); SolutionProjectRequirements__c solProjecthb = new SolutionProjectRequirements__c(); solProjecthb.Name = 'Test'; solProjecthb.HospitalOwner__c = user.Id; solProjecthb.Sales_Assistant__c = user.Id; solProjecthb.GIR_Assistant__c = user.Id; solProjecthb.Project_Type__c = '新建大楼'; solProjecthb.Purpose_Proposal__c = '促进销售商谈'; solProjecthb.Hospital__c = companyHb.Id; solproList.add(solProjecthb); SolutionProjectRequirements__c solProjectxb = new SolutionProjectRequirements__c(); solProjectxb.Name = 'Test'; solProjectxb.HospitalOwner__c = user.Id; solProjectxb.Sales_Assistant__c = user.Id; solProjectxb.GIR_Assistant__c = user.Id; solProjectxb.Project_Type__c = '新建大楼'; solProjectxb.Purpose_Proposal__c = '促进销售商谈'; solProjectxb.Hospital__c = companyxb.Id; solproList.add(solProjectxb); SolutionProjectRequirements__c solProjectdb = new SolutionProjectRequirements__c(); solProjectdb.Name = 'Test'; solProjectdb.HospitalOwner__c = user.Id; solProjectdb.Sales_Assistant__c = user.Id; solProjectdb.GIR_Assistant__c = user.Id; solProjectdb.Project_Type__c = '新建大楼'; solProjectdb.Purpose_Proposal__c = '促进销售商谈'; solProjectdb.Hospital__c = companydb.Id; solproList.add(solProjectdb); SolutionProjectRequirements__c solProjecthd = new SolutionProjectRequirements__c(); solProjecthd.Name = 'Test'; solProjecthd.HospitalOwner__c = user.Id; solProjecthd.Sales_Assistant__c = user.Id; solProjecthd.GIR_Assistant__c = user.Id; solProjecthd.Project_Type__c = '新建大楼'; solProjecthd.Purpose_Proposal__c = '促进销售商谈'; solProjecthd.Hospital__c = companyhd.Id; solproList.add(solProjecthd); SolutionProjectRequirements__c solProjecthn = new SolutionProjectRequirements__c(); solProjecthn.Name = 'Test'; solProjecthn.HospitalOwner__c = user.Id; solProjecthn.Sales_Assistant__c = user.Id; solProjecthn.GIR_Assistant__c = user.Id; solProjecthn.Project_Type__c = '新建大楼'; solProjecthn.Purpose_Proposal__c = '促进销售商谈'; solProjecthn.Hospital__c = companyHn.Id; solproList.add(solProjecthn); SolutionProjectRequirements__c solProjectxn = new SolutionProjectRequirements__c(); solProjectxn.Name = 'Test'; solProjectxn.HospitalOwner__c = user.Id; solProjectxn.Sales_Assistant__c = user.Id; solProjectxn.GIR_Assistant__c = user.Id; solProjectxn.Project_Type__c = '新建大楼'; solProjectxn.Purpose_Proposal__c = '促进销售商谈'; solProjectxn.Hospital__c = companyxn.Id; solproList.add(solProjectxn); insert solproList; girsolution.GIRSolutionXN__c = 100; girsolution.GIRSolutionXB__c = 100; girsolution.GIRSolutionDB__c = 100; girsolution.GIRSolutionHN__c = 100; girsolution.GIRSolutionHB__c = 100; girsolution.GIRSolutionHD__c = 100; girsolution.Name = ocsmPeriod; update girsolution; for(SolutionProjectRequirements__c sol : solproList){ sol.Area_Number__c = ''; } update solproList; } }