| | |
| | | @isTest |
| | | private class ReportControllerTest { |
| | | @TestSetup |
| | | static void setData(){ |
| | | List<String> strList= new List<String>(); |
| | | strList.add('Agency_Contact__c'); |
| | | strList.add('Contact'); |
| | | TestDataUtility.CreatePIPolicyConfigurations(strList); |
| | | Consum_Apply__c ca = new Consum_Apply__c(); |
| | | ca.DataMigration_Flag__c = true; |
| | | insert ca; |
| | | 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; |
| | | |
| | | // 病院を作る |
| | | Account hospital = new Account(); |
| | | hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id; |
| | | hospital.Name = 'test hospital'; |
| | | hospital.Is_Active__c = '有効'; |
| | | hospital.Attribute_Type__c = '卫生部'; |
| | | hospital.Speciality_Type__c = '综合医院'; |
| | | hospital.Grade__c = '一级'; |
| | | hospital.OCM_Category__c = 'SLTV'; |
| | | hospital.Is_Medical__c = '医疗机构'; |
| | | hospital.State_Master__c = al.id; |
| | | hospital.City_Master__c = al2.id; |
| | | hospital.Town__c = '东京'; |
| | | 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; |
| | | |
| | | Contact contact2 = new Contact(); |
| | | contact2.AccountId = dep.Id; |
| | | contact2.FirstName = '責任者'; |
| | | contact2.LastName = 'test1经销商'; |
| | | insert contact2; |
| | | |
| | | // 产品 |
| | | Product2 pro5 = new Product2(Name='name05',IsActive=true,Family='SP', |
| | | Fixture_Model_No__c='n05',Serial_Lot_No__c='S/N tracing', |
| | | Fixture_Model_No_T__c = 'n05', |
| | | ProductCode_Ext__c='pc05',Manual_Entry__c=false); |
| | | insert pro5; |
| | | |
| | | //备品借出申请 |
| | | Rental_Apply__c raObj = new Rental_Apply__c(); |
| | | raObj.Name = 'testra'; |
| | | raObj.Product_category__c = 'GI'; |
| | | raObj.Demo_purpose1__c = '产品试用'; |
| | | raObj.demo_purpose2__c = FixtureUtil.raDemo_purpose2MAP.get('shiyongwuxunjia'); |
| | | raObj.direct_send__c = '医疗机构'; |
| | | raObj.Loaner_received_staff__c = '王五'; |
| | | raObj.Loaner_received_staff_phone__c = '110'; |
| | | raObj.direct_shippment_address__c = '北京市'; |
| | | raObj.Hospital__c = hospital.Id; |
| | | raObj.Strategic_dept__c = strategicDep[0].Id; |
| | | raObj.Account__c = dep.Id; |
| | | raObj.Request_shipping_day__c = Date.toDay(); // 希望到货日 |
| | | raObj.Hope_Lonaer_date_Num__c = 1; // 希望借用天数 |
| | | // 预定归还日自动生成 预定归还日=(希望到货日+希望借用天数)-1 |
| | | // raObj.Request_return_day__c = Date.toDay(); // 预定归还日 |
| | | // B.OLY_OCM-669 入力规则: 希望借用天数不能为空 |
| | | raObj.Phone_number__c = '1234567890'; |
| | | raObj.Loaner_medical_Staff__c = contact2.Id; |
| | | insert raObj; |
| | | |
| | | Report__c rep = new Report__c(); |
| | | rep.VOC_Informer_Contact__c = '139'; |
| | | rep.Comment__c = '测试'; |
| | | rep.Manual_Name__c = '测试医院/科室/经销商'; |
| | | insert rep; |
| | | } |
| | | static testMethod void methodName1(){ |
| | | |
| | | Report__c rep = [select Id from Report__c limit 1]; |
| | | Rental_Apply__c re = [select Id from Rental_Apply__c limit 1]; |
| | | Consum_Apply__c ca = [select Id from Consum_Apply__c limit 1]; |
| | | 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(); |
| | | |
| | | } |
| | | |
| | | 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 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(); |
| | | |
| | | } |
| | | |
| | | 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; |
| | | ReportController.initForASACEditorButton(rep.Id); |
| | | ReportController.initForASRCEditorButton(rep.Id); |
| | | ReportController.initForCancelButton(rep.Id); |
| | | ReportController.initForCompleteButton(rep.Id); |
| | | ReportController.initForNewOnLineSurveyButton(rep.Id); |
| | | ReportController.initForOCSMNoToReportButton(rep.Id); |
| | | ReportController.initForOCSMToReportButton(rep.Id); |
| | | ReportController.initForOPDReportButton(re.Id); |
| | | ReportController.initForOPDReportConsumButton(ca.Id); |
| | | ReportController.initForOPDtoSISButton(rep.Id); |
| | | ReportController.initForSIStoOPDButton(rep.Id); |
| | | ReportController.initForSubmitCompetitorReportButton(rep.Id); |
| | | ReportController.initForVOCAnswerButton(rep.Id); |
| | | ReportController.initForVOCCheckButton(rep.Id); |
| | | ReportController.initForVOCConfirmButton(rep.Id); |
| | | ReportController.initForVOCFinishButton(rep.Id); |
| | | ReportController.initForVOCSubmitButton(rep.Id); |
| | | ReportController.updateForCancelButton(rep.Id); |
| | | ReportController.updateForCancelButton(''); |
| | | ReportController.updateForCancelSubmitReportButton(rep.Id); |
| | | ReportController.updateForCancelSubmitReportButton(''); |
| | | ReportController.updateForCompleteButton(rep.Id); |
| | | ReportController.updateForCompleteButton(''); |
| | | ReportController.updateForDispatchOCSMQARAButton(rep.Id); |
| | | ReportController.updateForDispatchOCSMQARAButton(''); |
| | | ReportController.updateForOCSMNoToReportButton(rep.Id); |
| | | ReportController.updateForOCSMNoToReportButton(''); |
| | | ReportController.updateForOCSMToReportButton(rep.Id); |
| | | ReportController.updateForOCSMToReportButton(''); |
| | | ReportController.updateForOPDtoSISButton(rep.Id); |
| | | ReportController.updateForOPDtoSISButton(''); |
| | | ReportController.updateForSIStoOPDButton(rep.Id); |
| | | ReportController.updateForSIStoOPDButton(''); |
| | | ReportController.updateForSubmitButton(rep.Id); |
| | | ReportController.updateForSubmitButton(''); |
| | | ReportController.updateForSubmitCompetitorReportButton(rep.Id); |
| | | ReportController.updateForSubmitCompetitorReportButton(''); |
| | | ReportController.updateForVOCAnswerButton(rep.Id); |
| | | ReportController.updateForVOCAnswerButton(''); |
| | | ReportController.updateForVOCCheckButton(rep.Id,'VOC',UserInfo.getUserId()); |
| | | ReportController.updateForVOCConfirmButton(rep.Id,'否', '是'); |
| | | ReportController.updateForVOCFinishButton(rep.Id); |
| | | ReportController.updateForVOCFinishButton(''); |
| | | ReportController.updateForVOCSubmitButton(rep.Id, UserInfo.getUserId()); |
| | | Test.stopTest(); |
| | | } |
| | | |