function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
raysfdc1988raysfdc1988 

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');
      
     
    }
VikashVikash (Salesforce Developers) 
Hi,

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