| | |
| | | @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<RecordType> rectHp = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; |
| | | if (rectHp.size() == 0) { |
| | | return; |
| | | } |
| | | List<RecordType> rectDpt = [select Id, Name from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科']; |
| | | if (rectDpt.size() == 0) { |
| | | return; |
| | | } |
| | | List<RecordType> 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; |
| | | |
| | | static testMethod void methodName1(){ |
| | | List<Account> 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 = '申請中'; |
| | | |
| | | Test.startTest(); |
| | | Report__c rac = new Report__c(); |
| | | rac.Id = 'a0B0l00000FD8o6EAD'; |
| | | rac.Status__c = '申請中'; |
| | | rac.Submit_time__c = Datetime.now(); |
| | | rac.Submit_report_day__c = Date.today(); |
| | | rac.Date__c = Date.today(); |
| | | update rac; |
| | | Report__c res = [select Status__c,Submit_time__c,Submit_report_day__c from Report__c where Id = 'a0B0l00000FD8o6EAD']; |
| | | System.debug(res); |
| | | Test.stopTest(); |
| | | 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 methodName3(){ |
| | | |
| | | Test.startTest(); |
| | | String recordId = 'a0B0l00000FDCPpEAP'; |
| | | String isVOC = 'VOC'; |
| | | String personId = '00510000002Z2o3AAC'; |
| | | Report__c r = [select Status__c,Submit_time__c from Report__c where Id = 'a0B0l00000FDCPpEAP' limit 1]; |
| | | |
| | | Test.stopTest(); |
| | | |
| | | 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(''); |
| | | |
| | | static testMethod void methodName2(){ |
| | | |
| | | Test.startTest(); |
| | | String recordId = 'a0B0l00000FDCPpEAP'; |
| | | String isVOC = 'VOC'; |
| | | String personId = '00510000002Z2o3AAC'; |
| | | Report__c rac = new Report__c(); |
| | | rac.Id = recordId; |
| | | List<Report__c> r = [select Id,OwnerId from Report__c where Id = :recordId limit 1]; |
| | | System.debug(r); |
| | | if (isVOC == 'VOC') { |
| | | // VOC対応者の経理部長総監を設定 |
| | | User[] records = [SELECT Id, Job_Category__c, JingliApprovalManager__c, SalesManager__c, BuchangApprovalManager__c, BuchangApprovalManagerSales__c, ZongjianApprovalManager__c FROM User WHERE Id = :personId]; |
| | | if (records[0].job_Category__c == '销售服务') { |
| | | rac.VOC_jingli__c = records[0].JingliApprovalManager__c == null ? '' : records[0].JingliApprovalManager__c; |
| | | rac.VOC_buzhang__c = records[0].BuchangApprovalManager__c == null ? '' : records[0].BuchangApprovalManager__c; |
| | | } else { |
| | | rac.VOC_jingli__c = records[0].SalesManager__c == null ? '' : records[0].SalesManager__c; |
| | | rac.VOC_buzhang__c = records[0].BuchangApprovalManagerSales__c == null ? '' : records[0].BuchangApprovalManagerSales__c; |
| | | } |
| | | rac.VOC_zongjian__c = records[0].ZongjianApprovalManager__c == null ? '' : records[0].ZongjianApprovalManager__c; |
| | | rac.Status__c = '判定完毕'; |
| | | rac.VOC_Finish__c = false; |
| | | Date serverTimestamp = Date.today(); |
| | | rac.VOC_share_date__c = serverTimestamp; |
| | | // share |
| | | List<String> userAccess = new List<String>(); |
| | | userAccess.add(rac.Responsible_Person__r.Id + '_Edit'); |
| | | userAccess.add(rac.VOC_jingli__r.Id + '_Read'); |
| | | userAccess.add(rac.VOC_buzhang__r.Id + '_Read'); |
| | | userAccess.add(rac.VOC_zongjian__r.Id + '_Read'); |
| | | String rtn = ControllerUtil.setSObjectShare('Report__Share','VOCShare__c',recordId,userAccess,r[0].OwnerId); |
| | | if (rtn != 'OK') { |
| | | return; |
| | | } |
| | | update rac; |
| | | } else { |
| | | rac.Status__c = '完毕'; |
| | | rac.VOC_Finish__c = true; |
| | | update rac; |
| | | } |
| | | |
| | | Test.stopTest(); |
| | | |
| | | 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(); |
| | | } |
| | | |
| | | static testMethod void methodName4(){ |
| | | Test.startTest(); |
| | | String recordId = 'a0B0l00000FDbTOEA1'; |
| | | Report__c rac = new Report__c(); |
| | | rac.Id = recordId; |
| | | rac.Status__c = '回答完毕'; |
| | | update rac; |
| | | Test.stopTest(); |
| | | } |
| | | |
| | | |
| | | |
| | | static testMethod void methodName5(){ |
| | | Test.startTest(); |
| | | String recordId = 'a0B0l00000FDbTOEA1'; |
| | | Report__c rac = new Report__c(); |
| | | String Satisfy = '是'; |
| | | String Satisfy1 = ''; |
| | | rac.Id = recordId; |
| | | if (Satisfy == '是') { |
| | | rac.Status__c = '结果确认完毕'; |
| | | } else if (Satisfy == '否') { |
| | | // 対応結果(一回目)に値なければ、一回目の「否」と見なす |
| | | if (Satisfy1 != '否') { |
| | | Report__c[] records = [SELECT Id, VOC_Satisfy__c, VOC_Unsatisfy_Reason__c, VOC_follow_up_result__c, VOC_solution_category__c FROM Report__c WHERE Id = :recordId]; |
| | | rac.VOC_Satisfy__c = null; |
| | | rac.VOC_Unsatisfy_Reason__c = null; |
| | | rac.VOC_follow_up_result__c = null; |
| | | rac.VOC_solution_category__c = null; |
| | | rac.VOC_Satisfy1__c= records[0].VOC_Satisfy__c; |
| | | rac.VOC_Unsatisfy_Reason1__c = records[0].VOC_Unsatisfy_Reason__c; |
| | | rac.VOC_follow_up_result1__c = records[0].VOC_follow_up_result__c; |
| | | rac.VOC_solution_category1__c = records[0].VOC_solution_category__c; |
| | | rac.Status__c = '草案中'; |
| | | } |
| | | // 対応結果(一回目)に値あれば、二回目の「否」と見なす |
| | | else { |
| | | rac.Status__c = '结果确认完毕'; |
| | | } |
| | | } |
| | | update rac; |
| | | Test.stopTest(); |
| | | } |
| | | |
| | | |
| | | } |