+ Start a Discussion
Amita TatarAmita Tatar 

not able to get current page id in test class, getting null in my class.

Hi all,

I am pasting below my apex class and test class. I am getting accID as null. Please help me where i am going wrong.
apex class----------------------

public class DisplayNotesNew{

public List<WrapperClass> listWrapper {get;set;}
public List<ContactWrapper> listWrapper1 {get;set;}
public List<OpportunityWrapper> listWrapper2 {get;set;}
public Id accId;
Public Account acc;
public List<Note> selectedNotes{get;set;}
public List<Contact> selectedContacts{get;set;}
public List<opportunity> selectedOpps{get;set;}
List<note> contactNote = new List<note>();
List<note> oppNote = new List<note>();
public ID noteID {get;set;}
Public String getRadioValue{get;set;}

public void assignNoteId() {
   Id note = ApexPages.currentPage().getParameters().get('note');
   system.debug('18-->'+note );
   if(note != null) {
      noteID = note;

public DisplayNotesNew(){
public DisplayNotesNew(ApexPages.StandardController Controller) {

accId = ApexPages.currentPage().getParameters().get('id');
List<Note> listAcct = [SELECT Id,Title, Body,Parent.Id,CreatedDate FROM Note where Parent.Id =: accId order by ID DESC];
  if(listAcct.size() > 0) {  
      listWrapper = new List<WrapperClass>();      
      for(Note a : listAcct) {        
          listWrapper.add(new WrapperClass(a));
List<Contact> listContact = [Select Id, FirstName, LastName,name From Contact where AccountId =: accId order by name DESC];
    if(listContact.size() > 0){     
        listWrapper1 = new List<ContactWrapper>();          
        for(Contact c : listContact){            
            listWrapper1.add(new ContactWrapper(c));

List<Opportunity> listOpp = [select id,name,closeDate from Opportunity where AccountId =: accId order by closeDate ASC];
    if(listOpp.size() > 0){  
        listWrapper2 = new List<OpportunityWrapper>();             
        for(Opportunity o : listOpp){              
            listWrapper2.add(new OpportunityWrapper(o));
public pagereference assignNotes(){
Note no = [select id,title,body,parentId from Note where id=:noteID limit 1];

/*selectedNotes = new List<Note>();
system.debug('*********listWrapper ********'+listWrapper);
for(WrapperClass wrapAccountObj : listWrapper ) {
     if(wrapAccountObj.checkBool == true) {
}  */

selectedContacts = new List<Contact>();
 for(ContactWrapper wrapContactObj : listWrapper1){   
     if(wrapContactObj.checkBool == true){
         Note nt = new Note();  
         nt.Title = no.title;
         nt.Body = no.body;
         nt.ParentId = wrapContactObj.cons.Id; 
insert contactNote;
selectedOpps = new List<Opportunity>();
  for(OpportunityWrapper wrapOppObj : listWrapper2){  
      if(wrapOppObj.checkBool == true){  
          Note nt = new Note(); 
          nt.Title = no.title;  
          nt.Body = no.Body;
          nt.parentId = wrapOppObj.ops.Id;
         // system.debug('******selectedOpps*********'+selectedOpps);
insert oppNote;
  PageReference pg = new PageReference('/apex/DisplayAccountNotes?id='+accId);  /*Redirect on the same page*/  pg.setRedirect(true); return pg; 
public class WrapperClass{
   public Boolean checkBool {get;set;}
   public Note acct {get;set;}
   public WrapperClass(Note acct){
        this.acct = acct;
        checkBool = false;
public class ContactWrapper{
   public Boolean checkBool {get;set;}
   public Contact cons {get;set;}
   public ContactWrapper(Contact cons){
        this.cons = cons;
        checkBool = false;
public Class OpportunityWrapper{
   public Boolean checkBool {get;set;}
   public Opportunity ops {get;set;}
   public OpportunityWrapper(Opportunity ops){
        this.ops = ops;
        checkBool = false;

Test Class-----------------------------------------

public class DisplayNotesNewTestClass {

  static testmethod void test1(){
    Account acc = new Account(name='vivek112');
    insert acc;
    Note ne = new Note(parentid = acc.Id,body ='hi',title = 'Bye');
    insert ne;

    Contact con = new Contact(FirstName='vivek112', AccountId = acc.Id);
    List<Contact> lstcon = new List<Contact>();
    Opportunity opp = new opportunity(name = 'a',stageName = 'Closed Won',closedate = date.today(),Renewal_Date__c = date.today(),AccountId = acc.Id);
    List<Opportunity> lstopp = new List<Opportunity>();
     Note note1 = new Note(parentid = acc.Id,title='test',body= 'hi');
    List<note> nList = new List<Note>();
    Note note2 = new Note(parentId = acc.Id,title = 'Hi',body = 'Hi');
    insert note2;
    PageReference pageRef = Page.DisplayAccountNotes;
    DisplayNotesNew obj = new DisplayNotesNew(new ApexPages.StandardController(acc));
   // DisplayNotesNew controller = new DisplayNotesNew();

    DisplayNotesNew objCustom = new DisplayNotesNew ();
    DisplayNotesNew.ContactWrapper objwrap = new DisplayNotesNew.ContactWrapper(con);
    DisplayNotesNew.OpportunityWrapper objwrap1 = new  DisplayNotesNew.OpportunityWrapper(opp); 
    DisplayNotesNew.WrapperClass objwrap2 = new DisplayNotesNew.WrapperClass(note1);
    Id accId = acc.Id;
    id note = note2.id;
    id noteID = note;

Bhanu joshi 10Bhanu joshi 10

    ApexPages.currentPage().getParameters().put('id',acc.Id);  in test class.
Hope this works
Amita TatarAmita Tatar
Hi Bhanu,

I got the accid. But now stuck at line no 73.. where i have the checkbool condition. How do i add it in test class?
Asif Ali MAsif Ali M
You are not getting the coverage for assignNotes method because your wrapper classes have a default value FALSE on checkBool property. Add these 2 lines after you created ContactWrapper ad OpprtunityWrapper object.
objwrap.checkBool = true;
objwrap1.checkBool = true;

Amita TatarAmita Tatar
Hi Asif,

okay i will do that and let you know if it works
Amita TatarAmita Tatar
Hi Asif,
I incuded those two lines, still test is getting failed and giving me null pointer exception
Asif Ali MAsif Ali M
Null pointer exception will generally occur when you are trying to access a property on an object when it is null. 
Can you please share the full error message?
Bhanu joshi 10Bhanu joshi 10


The boolean is  false because when you are adding a note in wrapper class it make it always false.(see you line 39 and 104.
Pass two paremeter one for object and other for Boolean.
Hope this works !!