You need to sign in to do that
Don't have an account?
The Finnster
Help with Test Class for a Create Event Trigger please
Hi,
I have a trigger than creates and edits an event when a custom object record name Calendar Event is created/edited.
I need help with writing a test class please. Any help will be appreciated.
I have a trigger than creates and edits an event when a custom object record name Calendar Event is created/edited.
I need help with writing a test class please. Any help will be appreciated.
trigger CreateEvent on Calender_Event__c (after insert,before update) { if(trigger.isInsert) { List<Event> eventList = new List<Event>(); for(Calender_Event__c fac : Trigger.new) { if(fac.Name != null) { Event e = new Event(); e.StartDateTime = fac.Start_Date_Time__c; e.EndDateTime = fac.End_Date_Time__c; e.Subject = fac.Subject__c; e.WhatId = fac.Id; eventList.add(e); } } insert eventList; } if(trigger.isUpdate) { List<Id> facIds = new List<Id>(); Map<Id, Event> eventMap = new Map<Id, Event>(); List<Event> eventList = new List<Event>(); for(Integer i = 0; i < Trigger.new.size(); i++) { if(Trigger.new[i].Start_Date_Time__c <> Trigger.Old[i].Start_Date_Time__c) { facIds.add(Trigger.new[i].Id); } } for(Event ev : [SELECT Id, WhatId, StartDateTime, EndDateTime FROM Event WHERE WhatId IN :facIds]) { eventMap.put(ev.WhatId, ev); } for(Calender_Event__c dfc : Trigger.new) { Event evnt = eventMap.get(dfc.Id); if(evnt <> null) { evnt.StartDateTime = dfc.Start_Date_Time__c; evnt.EndDateTime =dfc.End_Date_Time__c; eventList.add(evnt); } } update eventList; } }
Use the Record Type Id instead of Name :
Id rt = Schema.SObjectType.Calender_Event__c.getRecordTypeInfosByName().get('SIFM').getRecordTypeId();
ce.RecordTypeId = rt;
https://www.biswajeetsamal.com/blog/add-record-type-in-test-class/
Thanks,
Maharajan.C
All Answers
Please try the below test class:
Please add the system.asserts in above code.
Thanks,
Maharajan.C
You need to publish your events in the test class, please find the sample code below:
Let me know if you need any other help on this.
Thanks,
Abhishek Bansal.
This is the error
Error MessageSystem.NullPointerException: Attempt to de-reference a null object
Stack TraceClass.CreateEventTest.createEventTest: line 10, column 1
Use the Record Type Id instead of Name :
Id rt = Schema.SObjectType.Calender_Event__c.getRecordTypeInfosByName().get('SIFM').getRecordTypeId();
ce.RecordTypeId = rt;
https://www.biswajeetsamal.com/blog/add-record-type-in-test-class/
Thanks,
Maharajan.C