You need to sign in to do that
Don't have an account?
IKZ
CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, CaseTrigger: execution of BeforeUpdate
getting CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, CaseTrigger: execution of BeforeUpdate error
caused by: System.NullPointerException: Attempt to de-reference a null object
Class.BusinessHoursHelper.getBusinessHoursByRecordType: line 43, column 1
Class.CaseTriggerHelper.calculateBusinessHours: line 79, column 1
Class.CaseTriggerHandler.beforeUpdate: line 48, column 1
Trigger.CaseTrigger: line 19, column 1: []
Stack Trace
Class.BusinessHoursHelperTest.testcalculateBusinessHours: line 35, column 1
in below test class:
not sure how to fix that, an pleasey ideas?
caused by: System.NullPointerException: Attempt to de-reference a null object
Class.BusinessHoursHelper.getBusinessHoursByRecordType: line 43, column 1
Class.CaseTriggerHelper.calculateBusinessHours: line 79, column 1
Class.CaseTriggerHandler.beforeUpdate: line 48, column 1
Trigger.CaseTrigger: line 19, column 1: []
Stack Trace
Class.BusinessHoursHelperTest.testcalculateBusinessHours: line 35, column 1
in below test class:
@isTest private class BusinessHoursHelperTest { private static final Integer BULK_SIZE = 10; static testMethod void testcalculateBusinessHours() { SetupDataBH setupData = new SetupDataBH(); Date startOfWeek = Datetime.now().date().toStartOfWeek(); System.debug('startOfWeek: ' + startOfWeek); System.debug(Business_Hours__c.getAll()); User u = setupData.TestUser; System.runAs(u){ Account acc = [SELECT Id FROM Account LIMIT 1]; Case c = new Case(AccountId = acc.Id, Subject='test', CreatedDate = Datetime.now().addDays(Date.today().daysBetween(startOfWeek) == 0 ? -3 : -1), Initial_FCO_Date__c = Datetime.now(), RecordTypeId = RecordTypeUtility.getIdByName(RecordTypeUtility.CASE_CUSTOMER), Status = 'New', Origin = 'Phone' ); System.debug('Date.today().daysBetween(startOfWeek): ' + Date.today().daysBetween(startOfWeek)); System.debug('1newCase.CreatedDate: ' + c.CreatedDate); insert c; Test.startTest(); for (List<Case> inserted_cases : c.Id) { inserted_cases.Initial_FCO_Date__c = Datetime.now(); } update inserted_cases; Test.stopTest(); List<Case> test_cases = [SELECT Id, CreatedDate, Initial_FCO_Date__c, Business_Hours_FCO_Created_CreateDate__c, Status, Origin FROM Case WHERE Id = :c.Id]; for (Case updated_case : test_cases) { System.assert (updated_case.Initial_FCO_Date__c != null); System.assert (updated_case.Business_Hours_FCO_Created_CreateDate__c != null); System.assert(updated_case.Business_Hours_FCO_Created_CreateDate__c >= 8.50 && updated_case.Business_Hours_FCO_Created_CreateDate__c < 8.51, 'Business_Hours_FCO_Created_CreateDate__c = ' + updated_case.Business_Hours_FCO_Created_CreateDate__c ); } } } class SetupDataBH { public User TestUser; public User TestFCOUser; public User DataImporter; public List <BusinessHours> TestBusinessHours; public SetupDataBH() { TestUser = [SELECT Id FROM User WHERE LastName = 'BusinessHoursHelperTest' AND FirstName = 'SYSADMIN' LIMIT 1]; TestFCOUser = [SELECT Id FROM User WHERE LastName = 'BusinessHoursHelperTest' AND FirstName = 'FCO' LIMIT 1]; DataImporter = [SELECT Id FROM User WHERE Alias = 'Importer' AND LastName = 'Importer' AND FirstName = 'Data']; TestBusinessHours = [SELECT Id FROM BusinessHours WHERE IsDefault = true]; } } @testSetup static void createAndInsertTestUser() { List<sObject> ls = Test.loadData(Business_Hours__c.sObjectType, 'BusinessHourRecords'); system.debug(ls); System.runAs(new User(Id=UserInfo.getUserId())){ UserTestData.getUserForTest() .setProfile(ProfileUtilities.ProfileType.FCO) .setFirstName('FCO') .setLastName('BusinessHoursHelperTest') .save() .getRecord(); User testUser = UserTestData.getUserForTest() .setProfile(ProfileUtilities.ProfileType.SYSADMIN) .setFirstName('SYSADMIN') .setLastName('BusinessHoursHelperTest') .save() .getRecord(); AccountBuilder.getBuilder().setFirstName('fName').setLastName('lName').setRecordType(RecordTypeUtility.ACCOUNT_PERSON_ACCOUNT).save().getRecord(); } } }
not sure how to fix that, an pleasey ideas?
Can you post the code for BusinessHoursHelper class and especially getBusinessHoursByRecordType method?
Regards,
Mkr
thank you for looking into that Mkr