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
Padmini S 26Padmini S 26 

Increase the code coverage for custom controller

Hi All,
Below are Apex Class and Test Class.
Apex Class:
public  class UnvalidatedMum {
      id currentUserid;
      public list<Mum_Information__c> UnvalidatedMumList{get;set;}
    public UnvalidatedMum () {
        currentUserid=UserInfo.getUserId();
        Educator__c edu=[select id from Educator__c where user__c =:currentUserid limit 1];
        UnvalidatedMumList=[SELECT Id, Name, Mobile_No__c,  EduMum__c, 
                            First_Name__c,  Validation_Stage__c, Current_week__c FROM Mum_Information__c
                            where EduMum__c =:edu.id and Validation_Stage__c='Unvalidated' order by CreatedDate desc limit 10000 ];
        
    }
}
Test class:
-----------
@istest
private class UnvalidatedMumExtTest
{
  
    private static testmethod void fetchUnValidatedMum(){
         list<Mum_Information__c> mumList = new list<Mum_Information__c>();
          user u =[select id from user limit 1];
         Educator__c edu = new Educator__c();
        edu.Educator_Phone_No__c='7451245759';
        edu.user__c = u.id;
        insert edu;
       City__c c = new City__c(Name='cityname',Estimated_Target__c=6);
        insert c;
        Message_Table__c  m = new Message_Table__c (Persona__c=1,Week__c=12);
        insert m;
        Hospital__c h = new Hospital__c(name='hospital',Hospital_Type__c='Govt',City_Name__c=c.id);
        insert h;
        Mum_Information__c info = new Mum_Information__c(Mum_Hospital__c=h.id,Whatsapp_Presence__c='yes',Validation_Stage__c='validated',Pregnancy_Type__c='First',Lifestage_Months__c='3rd trimester',Family_Type__c='Joint',Facebook_Presence__c='no',First_Name__c = 'Test',edumum__c=edu.id,edd__c=date.today(),MObile_no__c='7094346807', address__c='hyd',pincode__c=121312,Landline_Number__c=0402303433,otp__c=123,Preferred_language__c='English',Do_you_own_this_phone__c='yes',ConsentID__c = decimal.valueof('12345678912')); 
        insert info;
 UnvalidatedMum un = new UnvalidatedMum();
  }
}

I am getting only 50% code coverage. I am not able to cover the Bold lines in apex class. Anyone please help on this.

Thanks in Advance.


 
Best Answer chosen by Padmini S 26
Padmini S 26Padmini S 26
Hi ,

Thank you for helping. Below test class works for me and code coverage is 100%.
 
@isTest(SeeAllData=true)
private class UnvalidatedMumExtTest
{
  private static testmethod void fetchUnValidatedMum(){
         list<Mum_Information__c> mumList = new list<Mum_Information__c>();
          user u =[select id from user limit 1];
         Educator__c edu = new Educator__c();
        edu.Educator_Phone_No__c='7451245759';
        edu.user__c = u.id;
        insert edu;
       City__c c = new City__c(Name='cityname',Estimated_Target__c=6);
        insert c;
        Message_Table__c  m = new Message_Table__c (Persona__c=1,Week__c=12);
        insert m;
        Hospital__c h = new Hospital__c(name='hospital',Hospital_Type__c='Govt',City_Name__c=c.id);
        insert h;
        Mum_Information__c info = new Mum_Information__c(Mum_Hospital__c=h.id,Whatsapp_Presence__c='yes',Validation_Stage__c='validated',Pregnancy_Type__c='First',Lifestage_Months__c='3rd trimester',Family_Type__c='Joint',Facebook_Presence__c='no',First_Name__c = 'Test',edumum__c=edu.id,edd__c=date.today(),MObile_no__c='7094346807', address__c='hyd',pincode__c=121312,Landline_Number__c=0402303433,otp__c=123,Preferred_language__c='English',Do_you_own_this_phone__c='yes',ConsentID__c = decimal.valueof('12345678912')); // Add required parameters here
        insert info;
         UnvalidatedMum un = new UnvalidatedMum();
       un.UnvalidatedMumList = [SELECT Id, Name, Mobile_No__c,  EduMum__c, First_Name__c,  Validation_Stage__c, Current_week__c FROM Mum_Information__c
                            where EduMum__c =:edu.id and Validation_Stage__c='Unvalidated' ];
  }
}

 

All Answers

suresh sanneboina 4suresh sanneboina 4
try this test class
@istest
private class UnvalidatedMumExtTest
{
  
    private static testmethod void fetchUnValidatedMum(){
         list<Mum_Information__c> mumList = new list<Mum_Information__c>();
          //user u =[select id from user limit 1];
         Educator__c edu = new Educator__c();
        edu.Educator_Phone_No__c='7451245759';
        edu.user__c = UserInfo.getUserId();
        insert edu;
       City__c c = new City__c(Name='cityname',Estimated_Target__c=6);
        insert c;
        Message_Table__c  m = new Message_Table__c (Persona__c=1,Week__c=12);
        insert m;
        Hospital__c h = new Hospital__c(name='hospital',Hospital_Type__c='Govt',City_Name__c=c.id);
        insert h;
        Mum_Information__c info = new Mum_Information__c(Mum_Hospital__c=h.id,Whatsapp_Presence__c='yes',Validation_Stage__c='validated',Pregnancy_Type__c='First',Lifestage_Months__c='3rd trimester',Family_Type__c='Joint',Facebook_Presence__c='no',First_Name__c = 'Test',edumum__c=edu.id,edd__c=date.today(),MObile_no__c='7094346807', address__c='hyd',pincode__c=121312,Landline_Number__c=0402303433,otp__c=123,Preferred_language__c='English',Do_you_own_this_phone__c='yes',ConsentID__c = decimal.valueof('12345678912')); 
        insert info;
 UnvalidatedMum un = new UnvalidatedMum();
  }
}
Padmini S 26Padmini S 26
Hi ,

Thank you for helping. Below test class works for me and code coverage is 100%.
 
@isTest(SeeAllData=true)
private class UnvalidatedMumExtTest
{
  private static testmethod void fetchUnValidatedMum(){
         list<Mum_Information__c> mumList = new list<Mum_Information__c>();
          user u =[select id from user limit 1];
         Educator__c edu = new Educator__c();
        edu.Educator_Phone_No__c='7451245759';
        edu.user__c = u.id;
        insert edu;
       City__c c = new City__c(Name='cityname',Estimated_Target__c=6);
        insert c;
        Message_Table__c  m = new Message_Table__c (Persona__c=1,Week__c=12);
        insert m;
        Hospital__c h = new Hospital__c(name='hospital',Hospital_Type__c='Govt',City_Name__c=c.id);
        insert h;
        Mum_Information__c info = new Mum_Information__c(Mum_Hospital__c=h.id,Whatsapp_Presence__c='yes',Validation_Stage__c='validated',Pregnancy_Type__c='First',Lifestage_Months__c='3rd trimester',Family_Type__c='Joint',Facebook_Presence__c='no',First_Name__c = 'Test',edumum__c=edu.id,edd__c=date.today(),MObile_no__c='7094346807', address__c='hyd',pincode__c=121312,Landline_Number__c=0402303433,otp__c=123,Preferred_language__c='English',Do_you_own_this_phone__c='yes',ConsentID__c = decimal.valueof('12345678912')); // Add required parameters here
        insert info;
         UnvalidatedMum un = new UnvalidatedMum();
       un.UnvalidatedMumList = [SELECT Id, Name, Mobile_No__c,  EduMum__c, First_Name__c,  Validation_Stage__c, Current_week__c FROM Mum_Information__c
                            where EduMum__c =:edu.id and Validation_Stage__c='Unvalidated' ];
  }
}

 
This was selected as the best answer