You need to sign in to do that
Don't have an account?
Thomasm
Code Coverage issue 71%
I have my trigger and class working but i am only gettng 71% but not sure why
the class
@isTest
public class FOP{
static testMethod Void Contacttoupdatedailycontact(){
contact sContact= new contact();
sContact.job__C= 'a013000000UHggN';
sContact.FirstName='Thomas';
sContact.LastName='Monson';
sContact.Field_Of_Play__C='Daily Contact';
Test.startTest();
sContact.job__C= 'a013000000UHggN';
sContact.Id = '00330000012mk3O';
update sContact;
Test.StopTest();
}
}
the trigger
trigger Contacttoupdatedailycontact on Contact (after insert,after update) {
set<id> jobids=new set<id>();
for(contact c:trigger.new){
jobids.add(c.Job__c) ;
}
map<id,jobs__c> jobsmap=new map<id,jobs__c>([select id,DailyContact__c from jobs__c where id=:jobids]);
jobs__c tempjob=new jobs__c();
list<jobs__c> joblist=new list<jobs__c>();
for(contact c2:trigger.new){
Contact oldc2=trigger.oldmap.get(c2.Id);
if(c2.Field_of_Play__c!=oldc2.Field_of_Play__c && c2.Field_of_Play__c=='Daily Contact'){
system.debug('entered if loop');
if(jobsmap.containsKey(c2.Job__c)){
tempjob=jobsmap.get(c2.Job__c);
tempjob.DailyContact__c=c2.FirstName+' '+c2.LastName;
joblist.add(tempjob);
}
}
}
update joblist;
}
the class
@isTest
public class FOP{
static testMethod Void Contacttoupdatedailycontact(){
contact sContact= new contact();
sContact.job__C= 'a013000000UHggN';
sContact.FirstName='Thomas';
sContact.LastName='Monson';
sContact.Field_Of_Play__C='Daily Contact';
Test.startTest();
sContact.job__C= 'a013000000UHggN';
sContact.Id = '00330000012mk3O';
update sContact;
Test.StopTest();
}
}
the trigger
trigger Contacttoupdatedailycontact on Contact (after insert,after update) {
set<id> jobids=new set<id>();
for(contact c:trigger.new){
jobids.add(c.Job__c) ;
}
map<id,jobs__c> jobsmap=new map<id,jobs__c>([select id,DailyContact__c from jobs__c where id=:jobids]);
jobs__c tempjob=new jobs__c();
list<jobs__c> joblist=new list<jobs__c>();
for(contact c2:trigger.new){
Contact oldc2=trigger.oldmap.get(c2.Id);
if(c2.Field_of_Play__c!=oldc2.Field_of_Play__c && c2.Field_of_Play__c=='Daily Contact'){
system.debug('entered if loop');
if(jobsmap.containsKey(c2.Job__c)){
tempjob=jobsmap.get(c2.Job__c);
tempjob.DailyContact__c=c2.FirstName+' '+c2.LastName;
joblist.add(tempjob);
}
}
}
update joblist;
}
Hi,
Because you are not modifying the value of Field_of_Play__c in the update of sContact, the lines:
system.debug('entered if loop');
if(jobsmap.containsKey(c2.Job__c)){
tempjob=jobsmap.get(c2.Job__c);
tempjob.DailyContact__c=c2.FirstName+' '+c2.LastName;
joblist.add(tempjob);
will never be covered.
Hth