You need to sign in to do that
Don't have an account?
Code Coverage problem
i have added one event button in contacts, when clicked it should navigate to events object picking up events in lookup. i have excuted it but i am facing with test class coverage. can any one help me please.
Class
public class AddToEvents {
//Variable Declaration
ApexPages.StandardSetController setCon;
public Event_Registration__c eventRegObj {get;set;}
public Integer selectedSize {get;set;}
public String selectedMemberStatus{get;set;}
public String selectedOption{get;set;}
Set<Id> sObjectIds = new Set<Id>();
List<Event_Registration__c> eventRegistrationsToCreate = new List<Event_Registration__c>();
Map<Id,Event_Registration__c> eventRegistrationsExisting = new Map<Id,Event_Registration__c>();
public AddToEvents(ApexPages.StandardSetController controller) {
setCon = controller;
eventRegObj = new Event_Registration__c();
selectedSize = setCon.getSelected().size();
selectedOption = '1';
//If no contacts are selected, display an error message.
if(selectedSize==0){
if(setCon.getRecord().getsObjectType() == Contact.sObjectType)
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Please select at least one contact'));
else if(setCon.getRecord().getsObjectType() == Lead.sObjectType)
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Please select at least one Lead'));
}
for(sObject s:setCon.getSelected())
sObjectIds.add(s.id);
}
//This method adds the selected contacts as Event Registrants.
public pagereference AddeventRegistrations(){
//Fetch existing Event Registrants with the same contact/lead and Recruiting Event Ids.
if(setCon.getRecord().getsObjectType() == Contact.sObjectType) {
// for(Event_Registration__c c:[Select Contact__c,CRM_Status__c from Event_Registration__c where Contact__c in:sObjectIds and Recruiting_Event__c =:eventRegObj.Id])
for(Event_Registration__c c:[Select Id,Contact__c from Event_Registration__c where Contact__c in:sObjectIds and Recruiting_Event__c =: eventRegObj.Recruiting_Event__c])
eventRegistrationsExisting.put(c.Contact__c,c);
}
for(sObject con:setCon.getSelected()){
Event_Registration__c er = new Event_Registration__c();
if(eventRegistrationsExisting.containsKey(con.Id)){
er = eventRegistrationsExisting.get(con.id);
}else{
er.Recruiting_Event__c = eventRegObj.Recruiting_Event__c;
if(setCon.getRecord().getsObjectType() == Contact.sObjectType)
er.Contact__c = con.Id;
//er.CRM_Status__c = selectedMemberStatus;
}
eventRegistrationsToCreate.add(er);
}
try{
//Update or Insert campaign members
upsert eventRegistrationsToCreate;
}catch(Exception e){
ApexPages.addMessages(e);
return null;
}
//Redirect to the campaign detail page.
Pagereference p= new Pagereference('/'+eventRegObj.Recruiting_Event__c);
p.setRedirect(true);
return p;
}
}
Test
------
@isTest
private class Test_AddToEvent
{
static testMethod void AddeventRegistrations(){
Event_Registration__c c = new Event_Registration__c();
insert c;
List<Contact> conList = new List<Contact>();
List<Recruiting_Event__c> recList = new List<Recruiting_Event__c>();
List<Event_Registration__c> eventList = new List<Event_Registration__c>();
Contact con = new Contact(LastName = 'Syed');
Contact con1 = new Contact(LastName = 'Yeturi');
conList.add(con);
conList.add(con1);
insert conList;
Recruiting_Event__c er = new Recruiting_Event__c(Name='Blitz New York Event');//Name='Blitz New York Event');
Recruiting_Event__c er1 = new Recruiting_Event__c(Name='Select Event');//Name ='Select Event');
recList.add(er);
recList.add(er1);
insert recList;
ApexPages.StandardSetController setCon = new ApexPages.StandardSetController(conList);
ApexPages.StandardSetController setCon1 = new ApexPages.StandardSetController(recList);
AddToEvents events = new AddToEvents(setCon);
setCon.setSelected(conList);
AddToEvents event= new AddToEvents(setCon);
event.eventRegObj.Recruiting_Event__c=c.id;
pagereference p = event.AddeventRegistrations();
event.eventRegObj.Recruiting_Event__c=null;
pagereference p1=event.AddeventRegistrations();
AddToEvents event1 = new AddToEvents(setCon1);
setCon1.setSelected(eventList);
event1.eventRegObj.Recruiting_Event__c=c.id;
pagereference p2 = event1.AddeventRegistrations();
}
}
but it doesnt cover the code so can any one help me in code coverage.