@isTest private class ReportControllerTest { @TestSetup static void makeData(){ Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin]; // ユーザー作成 User hpOwner = new User(Dept__c='医疗华北营业本部',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; // 取引先作成 List rectHp = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; if (rectHp.size() == 0) { return; } List rectDpt = [select Id, Name from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科']; if (rectDpt.size() == 0) { return; } List rectOPD = [select Id,name from RecordType where IsActive = true and SobjectType = 'Report__c' and Name = 'VOC']; if (rectOPD.size() == 0) { return; } Account hp1 = new Account(RecordTypeId = rectHp[0].Id, Name = 'TestHp1', OwnerId = hpOwner.Id); insert hp1; List dc1 = [Select Id, Name, Department_Class_Label__c from Account where Parent.Id = :hp1.Id and Department_Class_Label__c = '消化科']; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1[0].Id; depart1.Department_Class__c = dc1[0].Id; depart1.Hospital__c = hp1.Id; insert depart1; //AccountShare dcTS1 = new AccountShare(UserOrGroupId=hpOwner.Id, AccountId=hp1.Id,AccountAccessLevel='Read', OpportunityAccessLevel = 'Read'); //insert dcTS1; Daily_Report__c dr1 = new Daily_Report__c(); dr1.Reporter__c = UserInfo.getUserId(); dr1.Reported_Date__c = date.today(); dr1.Status__c = '申請中'; insert dr1; Report__c rep1 = new Report__c(); rep1.CurrencyIsoCode = 'CNY'; rep1.RecordTypeId = rectOPD[0].Id; rep1.Status__c = ''; rep1.Daily_Report__c = dr1.Id; rep1.Purpose1__c = 'OPD'; rep1.Purpose2__c = '引合追及活動'; rep1.Reason__c = '実施背景'; rep1.Appeal_Point__c = '実施目的・訴求点'; rep1.Strategic_Department_Class__c = '1.消化科'; rep1.Technical_Category1__c = '消化道检查'; rep1.Technical_Category2__c = '普通胃镜检查'; rep1.Patient_Status__c = '患者状況'; rep1.Operation_Process__c = '手術プロセス'; rep1.Operation_Task__c = '手術上の課題'; rep1.Product_Evaluation_Advantage__c = '製品評価利点'; rep1.Product_Evaluation_Faults__c = '製品評価欠点'; rep1.OPD_Summarize__c = 'OPD実施総括'; rep1.Activity_Plan__c = '今後の活動計画'; rep1.Opportunity_Situation__c = '引合無'; rep1.OPD_ProductCategory1__c ='3D System'; rep1.OPD_ProductCategory2__c ='OR Imaging Products'; rep1.Hospital_Reference__c = hp1.Id; rep1.Department_Class_Ref__c = dc1[0].Id; rep1.Hospital_Department__c = depart1.Id; rep1.Status__c = '草案中'; rep1.Date__c = Date.today().addDays(-1); insert rep1; // 病院を作る Account hospital = new Account(); hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id; hospital.Name = 'test hospital'; insert hospital; // 戦略科室を得る Account[] strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH']; // 診療科を作る Account dep = new Account(); dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id; dep.Name = 'test dep'; dep.AgentCode_Ext__c = '9999998'; dep.ParentId = strategicDep[0].Id; dep.Department_Class__c = strategicDep[0].Id; dep.Hospital__c = hospital.Id; insert dep; Consum_Apply__c ca = new Consum_Apply__c(); ca.DataMigration_Flag__c = true; insert ca; Rental_Apply__c ra = new Rental_Apply__c(); ra.Rental_Start_Date__c = Date.today().addDays(1); ra.Request_return_day__c=Date.today().addDays(5); ra.DataMigration_Flag__c = true; //ra.demo_purpose2__c = '其他'; //ra.Person_In_Charge__c = hpOwner.Id; //System.runAs(hpOwner) { insert ra; } static testMethod void test1() { Report__c rep1 = [select Id,createdById from Report__c limit 1]; Consum_Apply__c ca = [select Id from Consum_Apply__c limit 1]; Rental_Apply__c ra = [select Id from Rental_Apply__c limit 1]; Id reportId = rep1.Id; String createdById = rep1.createdById; System.Test.startTest(); ReportController.initForOPDReportConsumButton(ca.Id); ReportController.initForOPDReportButton(ra.Id); ReportController.initForVOCFinishButton(reportId); ReportController.initForVOCCheckButton(reportId); ReportController.initForVOCSubmitButton(reportId); ReportController.initForVOCAnswerButton(reportId); ReportController.initForVOCConfirmButton(reportId); ReportController.initForCancelButton(reportId); ReportController.initForOCSMNoToReportButton(reportId); ReportController.initForSIStoOPDButton(reportId); ReportController.initForOCSMToReportButton(reportId); ReportController.initForCompleteButton(reportId); ReportController.initForASRCEditorButton(reportId); ReportController.initForASACEditorButton(reportId); ReportController.initForOPDtoSISButton(reportId); ReportController.initForSubmitCompetitorReportButton(reportId); ReportController.initForNewOnLineSurveyButton(reportId); ReportController.updateForSubmitButton(reportId); ReportController.updateForOPDtoSISButton(reportId); ReportController.updateForCancelSubmitReportButton(reportId); ReportController.updateForCompleteButton(reportId); ReportController.updateForOCSMToReportButton(reportId); ReportController.updateForSIStoOPDButton(reportId); ReportController.updateForDispatchOCSMQARAButton(reportId); ReportController.updateForOCSMNoToReportButton(reportId); ReportController.updateForCancelButton(reportId); ReportController.updateForVOCConfirmButton(reportId,'否','是'); ReportController.updateForVOCAnswerButton(reportId); ReportController.updateForSubmitCompetitorReportButton(reportId); ReportController.updateForVOCSubmitButton(reportId,createdById); ReportController.updateForVOCCheckButton(reportId,'VOC',UserInfo.getUserId()); ReportController.updateForVOCFinishButton(reportId); System.Test.stopTest(); } static testMethod void test2() { System.Test.startTest(); ReportController.initForOPDReportConsumButton(''); ReportController.initForOPDReportButton(''); ReportController.initForVOCFinishButton(''); ReportController.initForVOCCheckButton(''); ReportController.initForVOCSubmitButton(''); ReportController.initForVOCAnswerButton(''); ReportController.initForVOCConfirmButton(''); ReportController.initForCancelButton(''); ReportController.initForOCSMNoToReportButton(''); ReportController.initForSIStoOPDButton(''); ReportController.initForOCSMToReportButton(''); ReportController.initForCompleteButton(''); ReportController.initForASRCEditorButton(''); ReportController.initForASACEditorButton(''); ReportController.initForOPDtoSISButton(''); ReportController.initForSubmitCompetitorReportButton(''); ReportController.initForNewOnLineSurveyButton(''); ReportController.updateForSubmitButton(''); ReportController.updateForOPDtoSISButton(''); ReportController.updateForCancelSubmitReportButton(''); ReportController.updateForCompleteButton(''); ReportController.updateForOCSMToReportButton(''); ReportController.updateForSIStoOPDButton(''); ReportController.updateForDispatchOCSMQARAButton(''); ReportController.updateForOCSMNoToReportButton(''); ReportController.updateForCancelButton(''); ReportController.updateForVOCConfirmButton('','否','是'); ReportController.updateForVOCAnswerButton(''); ReportController.updateForSubmitCompetitorReportButton(''); ReportController.updateForVOCSubmitButton('',''); ReportController.updateForVOCCheckButton('','VOC',UserInfo.getUserId()); ReportController.updateForVOCFinishButton(''); System.Test.stopTest(); } }