@isTest private class NewLoanerApplicationControllerTest { @TestSetup static void setup(){ TestDataUtility.CreatePIPolicyConfigurations(new string[]{'Opportunity','SBG001','Contact','loaner_application__c','loaner_user__c'}); } static void setupTestData() { OlympusCalendar__c oc1 = new OlympusCalendar__c(Date__c = Date.today().addDays(1), ChangeToHoliday__c=false, ChangeToWorkday__c=true); OlympusCalendar__c oc2 = new OlympusCalendar__c(Date__c = Date.today().addDays(2), ChangeToHoliday__c=false, ChangeToWorkday__c=true); OlympusCalendar__c oc3 = new OlympusCalendar__c(Date__c = Date.today().addDays(3), ChangeToHoliday__c=false, ChangeToWorkday__c=true); OlympusCalendar__c oc4 = new OlympusCalendar__c(Date__c = Date.today().addDays(4), ChangeToHoliday__c=false, ChangeToWorkday__c=true); OlympusCalendar__c oc5 = new OlympusCalendar__c(Date__c = Date.today().addDays(5), ChangeToHoliday__c=false, ChangeToWorkday__c=true); OlympusCalendar__c oc6 = new OlympusCalendar__c(Date__c = Date.today().addDays(6), ChangeToHoliday__c=true, ChangeToWorkday__c=false); OlympusCalendar__c oc7 = new OlympusCalendar__c(Date__c = Date.today().addDays(7), ChangeToHoliday__c=true, ChangeToWorkday__c=false); OlympusCalendar__c oc8 = new OlympusCalendar__c(Date__c = Date.today().addDays(8), ChangeToHoliday__c=false, ChangeToWorkday__c=true); OlympusCalendar__c oc9 = new OlympusCalendar__c(Date__c = Date.today().addDays(9), ChangeToHoliday__c=false, ChangeToWorkday__c=true); OlympusCalendar__c oc10 = new OlympusCalendar__c(Date__c = Date.today().addDays(10), ChangeToHoliday__c=false, ChangeToWorkday__c=true); OlympusCalendar__c oc11 = new OlympusCalendar__c(Date__c = Date.today().addDays(11), ChangeToHoliday__c=false, ChangeToWorkday__c=true); OlympusCalendar__c oc12 = new OlympusCalendar__c(Date__c = Date.today().addDays(12), ChangeToHoliday__c=false, ChangeToWorkday__c=true); OlympusCalendar__c oc13 = new OlympusCalendar__c(Date__c = Date.today().addDays(-1), ChangeToHoliday__c=true, ChangeToWorkday__c=false); OlympusCalendar__c oc14 = new OlympusCalendar__c(Date__c = Date.today().addDays(-2), ChangeToHoliday__c=true, ChangeToWorkday__c=false); OlympusCalendar__c oc15 = new OlympusCalendar__c(Date__c = Date.today().addDays(-3), ChangeToHoliday__c=false, ChangeToWorkday__c=true); OlympusCalendar__c oc16 = new OlympusCalendar__c(Date__c = Date.today().addDays(-4), ChangeToHoliday__c=false, ChangeToWorkday__c=true); OlympusCalendar__c oc17 = new OlympusCalendar__c(Date__c = Date.today().addDays(-5), ChangeToHoliday__c=false, ChangeToWorkday__c=true); insert new OlympusCalendar__c[] {oc1,oc2,oc3,oc4,oc5,oc6,oc7,oc8,oc9,oc10,oc11,oc12,oc13,oc14,oc15,oc16,oc17}; } @isTest static void test_method_one() { setupTestData(); // Implement test code List rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = 'Customer IE']; // 新建 客户 Account acc = new Account(); acc.RecordTypeId = rectCo[0].Id; acc.Name = '客户テスト1'; acc.DivisionName__c = 'DivTEST'; acc.FacilityName__c = 'FacTEST '; acc.PostCode__c = '000000'; insert acc; // 新建 联系人 Contact con = new Contact(); con.LastName = 'test1'; con.AccountId = acc.Id; con.Address1__c = 'Address1D__c'; con.Postcode__c = '100111'; con.ContactStatus__c = 'ContactStatusD__c'; con.StatusD__c = 'Pass'; insert con; // 新建用户 User user = new User(); user.LastName = 'test'; user.FirstName = 'test'; user.Alias = 'test'; user.Email = 'test@test.com'; user.Username = 'test111@test222.com'; user.CommunityNickname = 'test'; user.IsActive = true; user.EmailEncodingKey = 'ISO-2022-JP'; user.TimeZoneSidKey = 'Asia/Tokyo'; user.LocaleSidKey = 'ja_JP'; user.LanguageLocaleKey = 'ja'; user.ProfileId = System.Label.SystemAdmin; insert user; //PageReference page = new PageReference('/apex/NewLoanerApplicationController?accid=' + acc.Id ); PageReference page = new PageReference('/apex/NewLoanerApplicationController?accid=' + acc.Id + '&ConId=' + con.id); System.Test.setCurrentPage(page); NewLoanerApplicationController controller = new NewLoanerApplicationController(); controller.init(); List rectLo = [select Id from RecordType where IsActive = true and SobjectType = 'loaner_application__c' and Name = 'IE']; controller.la.name = '申请1'; controller.la.Demo_purpose__c = '展会'; controller.la.RecordTypeId = rectLo[0].id; controller.la.Loaner_Ser__c = '借用担当'; controller.la.Request_shipping_Date__c = Date.today(); controller.la.Request_return_Date__c = Date.today().addDays(2); controller.la.Approver__c = user.id; controller.saveBtn(); List luNew = [select Id, Remarks__c, Contact__r.name, Customer__c, ContactNumber__c from loaner_user__c]; List laNew = [select name from loaner_application__c]; system.assertEquals('申请1', laNew[0].name); system.assertEquals(acc.id, luNew[0].Customer__c); controller.cancelBtn(); } @isTest static void test_method_two() { // Implement test code } }