- Trigger to show outgoing SMS in Activity history
(creating task on Outbound SMS)
*smagicbasic is the package prefix. You can select the package prefix according to your SMS Magic package:Package
Version
Package prefix
SMS Magic basic
Below 1.9
screenmagic
SMS Magic basic
1.9
smagicbasic
SMS Magic Interact
1.23
smsmagicvc1
SMS Magic Interact
1.9
smagicinteract
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
trigger CreateSMSActivityTrigger on smagicbasic__smsMagic__c (before insert) {
try{
Date todaysDate = system.today();
List<Task> taskList = new List<Task>();
for(smagicbasic__smsMagic__c sms : Trigger.new){
Task newTask = new Task();
newTask.OwnerId = Userinfo.getUserId();
newTask.Status = ‘Completed’;
newTask.Subject = ‘SMS to number ‘+sms.smagicbasic__PhoneNumber__c;
newTask.Priority = ‘Medium’;
newTask.Type = ‘Text Message’;
newTask.ActivityDate = todaysDate;
newTask.WhoId = sms.smagicbasic__Lead__c;//attach task record in activity related list of Lead
newTask.Description = sms.smagicbasic__SMSText__c;
taskList.add(newTask);
}
system.debug(system.logginglevel.INFO, ‘taskList :’+taskList);
insert taskList;
}catch(Exception e){
system.debug(system.logginglevel.INFO,’exception :’+e);
}
} |
- Test Class for above Trigger :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
@isTest
private class TestTriggerOfAttachSMSHistory {
static testMethod void testCreateSMSActivityTrigger() {
String userId = Userinfo.getUserId();
Lead lead = new Lead();
lead.LastName ='test lead';
lead.MobilePhone='911234567890';
lead.Company='SMS Magic';
insert lead;
smagicbasic__smsMagic__c smsObject = new smagicbasic__smsMagic__c();
smsObject.smagicbasic__SMSText__c = 'test SMS by Screen Magic';
smsObject.smagicbasic__PhoneNumber__c = lead.MobilePhone;
smsObject.smagicbasic__Name__c = lead.Name;
smsObject.smagicbasic__User__c = userId;
smsObject.smagicbasic__Lead__c = lead.id; //mandatory field
smsObject.smagicbasic__ObjectType__c='Lead';
smsObject.smagicbasic__disableSMSOnTrigger__c=1;
smsObject.smagicbasic__SenderId__c='SMS Magic';
insert smsObject;
List<Task> tasklist = [select whoId,Description from Task where whoId =:smsObject.smagicbasic__Lead__c];
if(tasklist.size() > 0){
system.assertEquals(tasklist[0].whoId,lead.Id);
}
}
} |
If you find this useful, say thanks by sharing it..