You need to sign in to do that
Don't have an account?

help test coverage above 75%... now its 65%
//class...//
public with sharing class Campaignmembermassupdate {
public list<campaignmember> allCampaignMembers{get;set;}
public list<listWrapper> allDisplayedCampainmembers{get;set;}
public list<listWrapper> UpdatingList{get;set;}
public list<campaignmember> updatingCampaignMember{get;set;}
public boolean firsttable{get;set;}
public boolean secondtable{get;set;}
public string datatable{get;set;}
public campaign filterdate{get;set;}
public Id CampaignId{get;set;}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public boolean selectallrows{get;set;}
public string Status{get;set;}
public string modeofcorrespondance{get;set;}
public string Attendance{get;set;}
public string RSVP{get;set;}
public string Thanked{get;set;}
public string FoodPreference{get;set;}
public string TravelArrangements{get;set;}
public string SpecialRequirements{get;set;}
public boolean CreateOpportunity{get;set;}
//////////////////////////////filtering fields to get////////////////////////////////////////////////////////
public string filter1{get;set;}
public string filter2{get;set;}
public string filter3{get;set;}
public string filter4{get;set;}
public string filter5{get;set;}
public string filter6{get;set;}
public string filter7{get;set;}
public string filter8{get;set;}
public string filter9{get;set;}
public string filter10{get;set;}
public string filter11{get;set;}
public string filter12{get;set;}
public string filter13{get;set;}
public string filter14{get;set;}
public string filter15{get;set;}
public pagereference go()
{
firsttable=true;
secondtable=false;
updatinglist=new list<listwrapper>();
updatinglist.clear();
string query='select id, status,contact.name,Mode_of_Correspondence__c,preferred_mode_of_contact__c,Create_Opportunity__c,RSVP__c,Attendance__c,Thanked__c,food_Preference__C,Travel_Arrangements__C,Special_Requirements__c from campaignmember where campaignid='+'\''+CampaignId+'\'';
if(filter1!=''&&filter3!=''&&filter6==''&&filter9==''&&filter12==''&&filter15=='')
{
string temp=filter2.replace('1',filter1);
string temp2=temp.replace('2',filter3);
system.debug('this is to test test classes '+temp2);
system.debug('temp1 '+temp+' temp2 '+temp2);
for(campaignmember sortedlist:database.query(query+temp2))
{
listwrapper slist=new listwrapper();
slist.CMember=sortedlist;
slist.selectitem=false;
updatinglist.add(slist);
}
}
if(filter1!=''&&filter3!=''&&filter4!=''&&filter6!=''&&filter9==''&&filter12==''&&filter15=='')
{
string temp=filter2.replace('1',filter1);
string temp2=temp.replace('2',filter3);
string temp3=filter5.replace('1',filter4);
string temp4=temp3.replace('2',filter6);
for(campaignmember sortedlist:database.query(query+temp2+temp4))
{
listwrapper slist=new listwrapper();
slist.CMember=sortedlist;
slist.selectitem=false;
updatinglist.add(slist);
}
}
if(filter1!=''&&filter3!=''&&filter4!=''&&filter6!=''&&filter7!=''&&filter9!=''&&filter12==''&&filter15=='')
{
string temp=filter2.replace('1',filter1);
string temp2=temp.replace('2',filter3);
string temp3=filter5.replace('1',filter4);
string temp4=temp3.replace('2',filter6);
string temp5=filter8.replace('1',filter7);
string temp6=temp5.replace('2',filter9);
system.debug('for 3');
for(campaignmember sortedlist:database.query(query+temp2+temp4+temp6))
{
listwrapper slist=new listwrapper();
slist.CMember=sortedlist;
slist.selectitem=false;
updatinglist.add(slist);
}
}
if(filter1!=''&&filter3!=''&&filter4!=''&&filter6!=''&&filter7!=''&&filter9!=''&&filter12!=''&&filter15=='')
{
string temp=filter2.replace('1',filter1);
string temp2=temp.replace('2',filter3);
string temp3=filter5.replace('1',filter4);
string temp4=temp3.replace('2',filter6);
string temp5=filter8.replace('1',filter7);
string temp6=temp5.replace('2',filter9);
string temp7=filter11.replace('1',filter10);
string temp8=temp7.replace('2',filter12);
system.debug('for 4');
for(campaignmember sortedlist:database.query(query+temp2+temp4+temp6+temp8))
{
listwrapper slist=new listwrapper();
slist.CMember=sortedlist;
slist.selectitem=false;
updatinglist.add(slist);
}
}
if(filter1!=''&&filter3!=''&&filter4!=''&&filter6!=''&&filter7!=''&&filter9!=''&&filter12!=''&&filter15!='')
{
string temp=filter2.replace('1',filter1);
string temp2=temp.replace('2',filter3);
string temp3=filter5.replace('1',filter4);
string temp4=temp3.replace('2',filter6);
string temp5=filter8.replace('1',filter7);
string temp6=temp5.replace('2',filter9);
string temp7=filter11.replace('1',filter10);
string temp8=temp7.replace('2',filter12);
string temp9=filter14.replace('1',filter13);
string temp10=temp9.replace('2',filter15);
system.debug('for 5');
for(campaignmember sortedlist:database.query(query+temp2+temp4+temp6+temp8+temp10))
{
listwrapper slist=new listwrapper();
slist.CMember=sortedlist;
slist.selectitem=false;
updatinglist.add(slist);
}
}
return null;
}
/////////////////////////////////////////////////////////////////////////////////////
public pagereference allcampaignmembers()
{
firsttable=true;
updatinglist=new list<listwrapper>();
for(listwrapper listwrapper:allDisplayedCampainmembers)
{
updatinglist.add(listwrapper);
}
return null;
}
/////////////////////////////////////////////////////////////////////////////////////////
public pagereference selectallitems()
{
system.debug('action support');
for(listwrapper lw:updatinglist)
{
if(selectallrows)
{
lw.selectitem=true;
}
else
{
lw.selectitem=false;
}
}
return null;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public pagereference Updateall()
{
system.debug(status+attendance+thanked);
list<campaignmember> Updateitnow=new list<campaignmember>();
firsttable=true;
secondtable=false;
updatingCampaignMember=new list<campaignmember>();
for(listwrapper lw:updatinglist)
{
if(lw.selectitem)
updatingCampaignMember.add(lw.cmember);
}
system.debug('updating lists '+ updatingcampaignmember.size());
for(campaignmember cM:updatingCampaignMember)
{
if(status!='none')
{
system.debug('status check ');
cm.status=status;
}
if(modeofcorrespondance!='none')
{
system.debug('moc check ');
cm.Mode_of_Correspondence__c=modeofcorrespondance;
}
if(attendance!='none')
{
system.debug('att check ');
cm.Attendance__c=attendance;
}
if(thanked!='none')
{
cm.Thanked__c=thanked;
}
if(RSVP!='none')
{
cm.RSVP__C=rsvp;
}
if(Foodpreference!=''||Foodpreference!=' ')
{
cm.Food_Preference__C=FoodPreference;
}
if(TravelArrangements!=''||TravelArrangements!=' ')
{
cm.Travel_Arrangements__c=TravelArrangements;
}
if(SpecialRequirements!=''||SpecialRequirements!=' ')
{
cm.Special_Requirements__c=SpecialRequirements;
}
Updateitnow.add(cm);
}
if(Updateitnow.size()>0)
{
system.debug('update call check');
update updateitnow;
}
Status=null;
modeofcorrespondance=null;
Attendance=null;
RSVP=null;
Thanked=null;
FoodPreference=null;
TravelArrangements=null;
SpecialRequirements=null;
return null;
}
//////////////////////////wrapper class for display campaign members//////////////////////////////////////////
public class listwrapper
{
public campaignmember CMember{get;set;}
public Boolean selectitem{get;set;}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
public Campaignmembermassupdate(ApexPages.StandardController controller) {
allDisplayedCampainmembers=new list<listWrapper>();
campaignid=controller.getrecord().id;
for(campaignmember allCampaignMembers:[select id, status,contact.name,Mode_of_Correspondence__c,Create_Opportunity__c ,preferred_mode_of_contact__c,RSVP__c,Attendance__c,Food_Preference__c ,travel_Arrangements__c,Special_Requirements__c,
Thanked__c from campaignmember where campaignid=:controller.getrecord().id])
{
listwrapper w=new listwrapper();
w.CMember=allcampaignmembers;
allDisplayedCampainmembers.add(w);
}
}
}
///test class is//
@istest(seealldata=true)
public class testforMassUpdate
{
static testmethod void massupdatetest()
{
account a=new account();
a.name='test account';
insert a;
contact con=new contact();
con.lastname='test name';
con.account=a;
insert con;
campaign c=new campaign();
c.name='testcampaign';
insert c;
campaignmember cm=new campaignmember();
cm.status='sent';
cm.Attendance__c='attended';
cm.Mode_of_Correspondence__c='phone';
cm.campaignid=c.id;
cm.contactid=con.id;
insert cm;
ApexPages.StandardController sc = new ApexPages.standardController(c);
Campaignmembermassupdate cmu=new Campaignmembermassupdate(sc);
system.assertequals(cmu.campaignid,c.id);
cmu.filter1='status';
cmu.filter2=' and 1=2';
cmu.filter3='sent';
cmu.filter4='';
cmu.filter6='';
cmu.filter7='';
cmu.filter9='';
cmu.go();
system.assertequals(cmu.updatinglist.size(),0);
system.assertequals(cmu.campaignid,c.id);
cmu.allcampaignmembers();
system.assertequals(cmu.updatinglist.size(),1);
cmu.selectallrows=true;
cmu.selectallitems();
cmu.Status='Responded';
cmu.Updateall();
campaignmember cmb=[select id ,status from campaignmember where id=:cm.id];
system.assertequals(cmb.status,'Responded');
}
public with sharing class Campaignmembermassupdate {
public list<campaignmember> allCampaignMembers{get;set;}
public list<listWrapper> allDisplayedCampainmembers{get;set;}
public list<listWrapper> UpdatingList{get;set;}
public list<campaignmember> updatingCampaignMember{get;set;}
public boolean firsttable{get;set;}
public boolean secondtable{get;set;}
public string datatable{get;set;}
public campaign filterdate{get;set;}
public Id CampaignId{get;set;}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public boolean selectallrows{get;set;}
public string Status{get;set;}
public string modeofcorrespondance{get;set;}
public string Attendance{get;set;}
public string RSVP{get;set;}
public string Thanked{get;set;}
public string FoodPreference{get;set;}
public string TravelArrangements{get;set;}
public string SpecialRequirements{get;set;}
public boolean CreateOpportunity{get;set;}
//////////////////////////////filtering fields to get////////////////////////////////////////////////////////
public string filter1{get;set;}
public string filter2{get;set;}
public string filter3{get;set;}
public string filter4{get;set;}
public string filter5{get;set;}
public string filter6{get;set;}
public string filter7{get;set;}
public string filter8{get;set;}
public string filter9{get;set;}
public string filter10{get;set;}
public string filter11{get;set;}
public string filter12{get;set;}
public string filter13{get;set;}
public string filter14{get;set;}
public string filter15{get;set;}
public pagereference go()
{
firsttable=true;
secondtable=false;
updatinglist=new list<listwrapper>();
updatinglist.clear();
string query='select id, status,contact.name,Mode_of_Correspondence__c,preferred_mode_of_contact__c,Create_Opportunity__c,RSVP__c,Attendance__c,Thanked__c,food_Preference__C,Travel_Arrangements__C,Special_Requirements__c from campaignmember where campaignid='+'\''+CampaignId+'\'';
if(filter1!=''&&filter3!=''&&filter6==''&&filter9==''&&filter12==''&&filter15=='')
{
string temp=filter2.replace('1',filter1);
string temp2=temp.replace('2',filter3);
system.debug('this is to test test classes '+temp2);
system.debug('temp1 '+temp+' temp2 '+temp2);
for(campaignmember sortedlist:database.query(query+temp2))
{
listwrapper slist=new listwrapper();
slist.CMember=sortedlist;
slist.selectitem=false;
updatinglist.add(slist);
}
}
if(filter1!=''&&filter3!=''&&filter4!=''&&filter6!=''&&filter9==''&&filter12==''&&filter15=='')
{
string temp=filter2.replace('1',filter1);
string temp2=temp.replace('2',filter3);
string temp3=filter5.replace('1',filter4);
string temp4=temp3.replace('2',filter6);
for(campaignmember sortedlist:database.query(query+temp2+temp4))
{
listwrapper slist=new listwrapper();
slist.CMember=sortedlist;
slist.selectitem=false;
updatinglist.add(slist);
}
}
if(filter1!=''&&filter3!=''&&filter4!=''&&filter6!=''&&filter7!=''&&filter9!=''&&filter12==''&&filter15=='')
{
string temp=filter2.replace('1',filter1);
string temp2=temp.replace('2',filter3);
string temp3=filter5.replace('1',filter4);
string temp4=temp3.replace('2',filter6);
string temp5=filter8.replace('1',filter7);
string temp6=temp5.replace('2',filter9);
system.debug('for 3');
for(campaignmember sortedlist:database.query(query+temp2+temp4+temp6))
{
listwrapper slist=new listwrapper();
slist.CMember=sortedlist;
slist.selectitem=false;
updatinglist.add(slist);
}
}
if(filter1!=''&&filter3!=''&&filter4!=''&&filter6!=''&&filter7!=''&&filter9!=''&&filter12!=''&&filter15=='')
{
string temp=filter2.replace('1',filter1);
string temp2=temp.replace('2',filter3);
string temp3=filter5.replace('1',filter4);
string temp4=temp3.replace('2',filter6);
string temp5=filter8.replace('1',filter7);
string temp6=temp5.replace('2',filter9);
string temp7=filter11.replace('1',filter10);
string temp8=temp7.replace('2',filter12);
system.debug('for 4');
for(campaignmember sortedlist:database.query(query+temp2+temp4+temp6+temp8))
{
listwrapper slist=new listwrapper();
slist.CMember=sortedlist;
slist.selectitem=false;
updatinglist.add(slist);
}
}
if(filter1!=''&&filter3!=''&&filter4!=''&&filter6!=''&&filter7!=''&&filter9!=''&&filter12!=''&&filter15!='')
{
string temp=filter2.replace('1',filter1);
string temp2=temp.replace('2',filter3);
string temp3=filter5.replace('1',filter4);
string temp4=temp3.replace('2',filter6);
string temp5=filter8.replace('1',filter7);
string temp6=temp5.replace('2',filter9);
string temp7=filter11.replace('1',filter10);
string temp8=temp7.replace('2',filter12);
string temp9=filter14.replace('1',filter13);
string temp10=temp9.replace('2',filter15);
system.debug('for 5');
for(campaignmember sortedlist:database.query(query+temp2+temp4+temp6+temp8+temp10))
{
listwrapper slist=new listwrapper();
slist.CMember=sortedlist;
slist.selectitem=false;
updatinglist.add(slist);
}
}
return null;
}
/////////////////////////////////////////////////////////////////////////////////////
public pagereference allcampaignmembers()
{
firsttable=true;
updatinglist=new list<listwrapper>();
for(listwrapper listwrapper:allDisplayedCampainmembers)
{
updatinglist.add(listwrapper);
}
return null;
}
/////////////////////////////////////////////////////////////////////////////////////////
public pagereference selectallitems()
{
system.debug('action support');
for(listwrapper lw:updatinglist)
{
if(selectallrows)
{
lw.selectitem=true;
}
else
{
lw.selectitem=false;
}
}
return null;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public pagereference Updateall()
{
system.debug(status+attendance+thanked);
list<campaignmember> Updateitnow=new list<campaignmember>();
firsttable=true;
secondtable=false;
updatingCampaignMember=new list<campaignmember>();
for(listwrapper lw:updatinglist)
{
if(lw.selectitem)
updatingCampaignMember.add(lw.cmember);
}
system.debug('updating lists '+ updatingcampaignmember.size());
for(campaignmember cM:updatingCampaignMember)
{
if(status!='none')
{
system.debug('status check ');
cm.status=status;
}
if(modeofcorrespondance!='none')
{
system.debug('moc check ');
cm.Mode_of_Correspondence__c=modeofcorrespondance;
}
if(attendance!='none')
{
system.debug('att check ');
cm.Attendance__c=attendance;
}
if(thanked!='none')
{
cm.Thanked__c=thanked;
}
if(RSVP!='none')
{
cm.RSVP__C=rsvp;
}
if(Foodpreference!=''||Foodpreference!=' ')
{
cm.Food_Preference__C=FoodPreference;
}
if(TravelArrangements!=''||TravelArrangements!=' ')
{
cm.Travel_Arrangements__c=TravelArrangements;
}
if(SpecialRequirements!=''||SpecialRequirements!=' ')
{
cm.Special_Requirements__c=SpecialRequirements;
}
Updateitnow.add(cm);
}
if(Updateitnow.size()>0)
{
system.debug('update call check');
update updateitnow;
}
Status=null;
modeofcorrespondance=null;
Attendance=null;
RSVP=null;
Thanked=null;
FoodPreference=null;
TravelArrangements=null;
SpecialRequirements=null;
return null;
}
//////////////////////////wrapper class for display campaign members//////////////////////////////////////////
public class listwrapper
{
public campaignmember CMember{get;set;}
public Boolean selectitem{get;set;}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
public Campaignmembermassupdate(ApexPages.StandardController controller) {
allDisplayedCampainmembers=new list<listWrapper>();
campaignid=controller.getrecord().id;
for(campaignmember allCampaignMembers:[select id, status,contact.name,Mode_of_Correspondence__c,Create_Opportunity__c ,preferred_mode_of_contact__c,RSVP__c,Attendance__c,Food_Preference__c ,travel_Arrangements__c,Special_Requirements__c,
Thanked__c from campaignmember where campaignid=:controller.getrecord().id])
{
listwrapper w=new listwrapper();
w.CMember=allcampaignmembers;
allDisplayedCampainmembers.add(w);
}
}
}
///test class is//
@istest(seealldata=true)
public class testforMassUpdate
{
static testmethod void massupdatetest()
{
account a=new account();
a.name='test account';
insert a;
contact con=new contact();
con.lastname='test name';
con.account=a;
insert con;
campaign c=new campaign();
c.name='testcampaign';
insert c;
campaignmember cm=new campaignmember();
cm.status='sent';
cm.Attendance__c='attended';
cm.Mode_of_Correspondence__c='phone';
cm.campaignid=c.id;
cm.contactid=con.id;
insert cm;
ApexPages.StandardController sc = new ApexPages.standardController(c);
Campaignmembermassupdate cmu=new Campaignmembermassupdate(sc);
system.assertequals(cmu.campaignid,c.id);
cmu.filter1='status';
cmu.filter2=' and 1=2';
cmu.filter3='sent';
cmu.filter4='';
cmu.filter6='';
cmu.filter7='';
cmu.filter9='';
cmu.go();
system.assertequals(cmu.updatinglist.size(),0);
system.assertequals(cmu.campaignid,c.id);
cmu.allcampaignmembers();
system.assertequals(cmu.updatinglist.size(),1);
cmu.selectallrows=true;
cmu.selectallitems();
cmu.Status='Responded';
cmu.Updateall();
campaignmember cmb=[select id ,status from campaignmember where id=:cm.id];
system.assertequals(cmb.status,'Responded');
}
In order to increase the code coverage, you would have to write a test class. Also provide links to the customer on test classes.
http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_testing_unit_tests.htm
http://salesforce.stackexchange.com/questions/21707/writing-test-classes-for-a-custom-controller
These links willhelp you understanding test classes.
Thanks
Vikash_SFDC