@isTest private class InstructReportControllerTest { @TestSetup static void makeData(){ TestDataUtility.CreatePIPolicyConfiguration('Contact'); RecordType rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Hp']; List rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName IN ('Department_GI', 'Department_BF') order by DeveloperName desc]; Account acc = new Account(); acc.RecordTypeId = rectCo.Id; acc.Name = 'HP test1'; insert acc; List dept = [select Id, Name from Account where ParentId = :acc.Id and Department_Class_Label__c IN ('消化科', '呼吸科') order by Department_Class_Label__c]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = 'Gastoro Intestin Test'; depart1.ParentId = dept[0].Id; depart1.Department_Class__c = dept[0].Id; depart1.Hospital__c = acc.Id; Account depart2 = new Account(); depart2.RecordTypeId = rectDpt[1].Id; depart2.Name = '*'; depart2.Department_Name__c = '診療科2'; depart2.ParentId = dept[1].Id; depart2.Department_Class__c = dept[1].Id; depart2.Hospital__c = acc.Id; insert new Account[] {depart1, depart2}; Contact con = new Contact(); con.LastName = 'lastname2'; con.FirstName = 'firstname2'; con.Email = 'olympustest033@sunbridge.com'; con.MobilePhone = '99999999'; con.Work_Location_manual__c = 'location2'; con.Post_picklist__c = '部长'; con.Job_Category_picklist__c = '销售推广'; con.Hire_date_text__c = Date.today().addMonths(-6); con.Gender_text__c = '男'; con.dept__c = '服务本部'; con.Pregnant_Rest__c = true; insert con; RecordType rectCam = [select Id from RecordType where IsActive = true and SobjectType = 'Campaign' and DeveloperName = 'ServiceEngineerTraining']; Campaign cam = new Campaign(); cam.Name = 'cam'; cam.Name2__c = '1234'; cam.RecordTypeId = rectCam.Id; cam.StartDate = Date.today().addDays(-15); cam.EndDate = Date.today().addDays(18); cam.Mailflg_after45__c = true; cam.Mailflg_cancel__c = true; cam.Mailflg_before15__c = true; cam.Mailflg_before7__c = true; cam.Mailflg_after3__c = true; insert cam; CampaignMember__c tempCM = new CampaignMember__c(Contact_ID__c = con.id, Campaign__c = cam.id); insert tempCM; Instruct_report__c temIR = new Instruct_report__c(); temIR.Campaign__c = cam.id; temIR.Status__c = '草案中'; temIR.ServiceDesignDep__c = UserInfo.getUserId(); temIR.Name = cam.Name + '第' + 1 + '次报告'; //temAR.Type__c = '授课'; insert temIR; Instructed_staff__c tempARS = new Instructed_staff__c (); tempARS.CampaignMember__c = tempCM.id; tempARS.ContactID__c = con.id; tempARS.Instruct_report__c = temIR.id; tempARS.Department__c = depart2.id ; insert tempARS; } @isTest static void test_init() { // Implement test code list camlist = [select id from Campaign]; Campaign cam = camlist[0]; PageReference page = new PageReference('/apex/InstructReport?camid=' + cam.Id); System.Test.setCurrentPage(page); InstructReportController cmc = new InstructReportController(); cmc.init(); Instruct_report__c temIR = [select id from Instruct_report__c]; page = new PageReference('/apex/InstructReport?id=' + temIR.Id); System.Test.setCurrentPage(page); cmc = new InstructReportController(); cmc.init(); } @isTest static void test_CheckSaveInput() { Instruct_report__c temIR = [select id from Instruct_report__c]; PageReference page = new PageReference('/apex/InstructReport?id=' + temIR.Id); System.Test.setCurrentPage(page); InstructReportController cmc = new InstructReportController(); cmc.init(); cmc.CheckSaveInput(); for (InstructReportController.InstructedstaffInfo temIS : cmc.checkedISList) { temIS.IS.Instruct_time__c = null; temIS.IS.Instruct_content__c = null; } cmc.CheckSaveInput(); } @isTest static void test_Save_Submit() { Instruct_report__c temIR = [select id from Instruct_report__c]; PageReference page = new PageReference('/apex/InstructReport?id=' + temIR.Id); System.Test.setCurrentPage(page); InstructReportController cmc = new InstructReportController(); cmc.init(); cmc.save(); cmc.saveAndCancel(); cmc.Submit(); cmc.Instruct_report.Instruct_Staff__c = UserInfo.getUserId(); cmc.Instruct_report.Verifier__c = '护士长'; cmc.Instruct_report.VerifierName__c = '护士长'; cmc.Instruct_report.VerifierNumber__c = '护士长'; for (InstructReportController.InstructedstaffInfo temIS : cmc.checkedISList) { temIS.IS.Instruct_Date__c = Date.today(); temIS.IS.Instructed_staff_feedback__c = 'test word'; temIS.IS.Instruct_staff_feedback__c = 'test word'; temIS.IS.Instruct_Date__c = Date.today(); temIS.IS.Instructed_staff_feedback__c = 'test word'; temIS.IS.Instruct_staff_feedback__c = 'test word'; temIS.IS.Instruct_time__c ='1-2'; temIS.IS.Instruct_content__c='使用操作'; temIS.IS.Instruct_place__c = '消化科/内镜中心'; temIS.IS.Instruct_content_other__c = '测试'; temIS.IS.Verifier__c = '护士长'; temIS.IS.VerifierName__c = '精琢技术'; } cmc.save(); cmc.saveAndCancel(); cmc.Submit(); } @isTest static void test_exchangeInstructedstaff() { Instruct_report__c temIR = [select id from Instruct_report__c]; PageReference page = new PageReference('/apex/InstructReport?id=' + temIR.Id); System.Test.setCurrentPage(page); InstructReportController cmc = new InstructReportController(); cmc.init(); for (InstructReportController.InstructedstaffInfo checkedIS : cmc.checkedISList) { checkedIS.rec_checkBox = false; } cmc.exchangeInstructedstaff(); for (InstructReportController.InstructedstaffInfo uncheckedIS : cmc.uncheckedISList) { uncheckedIS.rec_checkBox = true; } cmc.exchangeInstructedstaff(); } @isTest static void test_unitTest() { Instruct_report__c temIR = [select id from Instruct_report__c]; PageReference page = new PageReference('/apex/InstructReport?id=' + temIR.Id); System.Test.setCurrentPage(page); InstructReportController cmc = new InstructReportController(); cmc.init(); cmc.EditRecord(); cmc.getInputdisabled(); cmc.cancel(); Integer i = cmc.CheckedCnt; Integer j = cmc.unCheckedCnt; Boolean tf = cmc.getIsServiceDesignDep(); } }