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
Amit Trivedi 15Amit Trivedi 15 

I am unable to produce full ciode coverage

@isTest(SeeAllData = true)

public class SurveyResponseTest
{
   public static testMethod void surRes()
   {
        Account acc1 = TestDataGenerator.createAccount('Acme');
        insert acc1;
        Opportunity opp1 = TestDataGenerator.createOpportunity('TM',acc1,Date.today(),'Closed Won');
        insert opp1;
        Profile p = [SELECT Id FROM Profile WHERE Name='Standard User']; 
        User u = new User(Alias = 'standt', Email='A.trivedi@demoorg.com', 
        EmailEncodingKey='UTF-8', LastName='devindrop', LanguageLocaleKey='en_US', 
        LocaleSidKey='en_US', ProfileId = p.Id, 
        TimeZoneSidKey='America/Los_Angeles', UserName='KFCempress31@Nagpurorg.com');
        insert u;
        System.runAs(u)
        {
            System.debug('Current User: ' + UserInfo.getUserName());
            System.debug('Current Profile: ' + UserInfo.getProfileId()); 
        }
      Survey__c sur1 = TestDataGenerator.createSurvey('Test','For testing',Date.today(),opp1);
      insert sur1;
      Question__c que1 = TestDataGenerator.createQuestion('Who',false,'Test','Test','Test','Test','Test','Test','Test','Test','Test','Test','Test','Radio',sur1);
      insert que1;
       Feedback__c fb1 = TestDataGenerator.createFedback('Ans',que1,'Test','Test','Test','Test','Test','Test','Test','Test','Test','Test',u);
       insert fb1;
        Test.startTest();
       
    
      
        ApexPages.CurrentPage().getparameters().put('id', sur1.id);
        ApexPages.StandardController controller = new  ApexPages.StandardController(sur1);
        SurveyResponse sr = new SurveyResponse(controller);
       
        sr.radio = true;
       
        sr.radiomethod();
        sr.Submitsurvey();
        Test.stopTest();
   }
}
Sreenath ReddySreenath Reddy
Hi Amit,

Can you please provide the Apex Class here?.So that i will check .Thanks
Amit Trivedi 15Amit Trivedi 15
Public with sharing Class SurveyResponse
{
         Public List<Survey__c> surveyList{get;set;}
         Public List<Question__c> queList{get;set;}
         Public Feedback__c feedback{get;set;}
         Public List<Feedback__c> feedbackList{get;set;}
         Public String SurveyId{get;set;}
         Public Boolean selectedanscheck1{get;set;}
         Public Boolean selectedansradio1{get;set;}
         Public Boolean selectedanscheck2{get;set;}
         Public Boolean selectedansradio2{get;set;}
         Public Boolean selectedanscheck3{get;set;}
         Public Boolean selectedansradio3{get;set;}
         Public Boolean selectedanscheck4{get;set;}
         Public Boolean selectedansradio4{get;set;}
         Public Integer i{get;set;}
         Public String radio1value{get;set;} 
         Public Id radioid{get;set;}    
         Public Boolean radio{get;set;}
         Public List<ResponseWrapper> wraplist{get;set;}
         Public Set<String> setradio{get;set;}
         Public Set<Id> setopvalue {get;set;}
         Public List<Question__c> lstAnwserUpdate{get;set;}
        Public SurveyResponse(Apexpages.StandardController Controller)
         {
               SurveyId = ApexPages.currentPage().getParameters().get('Id');
              wraplist = new List<ResponseWrapper>();    
               setradio = new set<String>();
               setopvalue = new Set<Id>(); 
               surveyList = new List<Survey__c>();
               surveyList =[SELECT Id,Name,Description__c FROM Survey__c WHERE Id=:SurveyId ];
               survey = new Survey__c();
             if(surveyList.size()>0)
               {
                   survey = surveyList[0];
                }
          if(survey.Id!=null)
               {
                    queList = new List<Question__c>();
                    queList = [SELECT Id,Question__c,Question_Type__c,Option_1__c,Option_2__c,Answer__c   FROM Question__c WHERE Survey__c=:survey.id  ];
                    Integer i=1;
                    if(queList.size()>0)
                    {
                          for(Question__c qu: queList)
                          {
                               ResponseWrapper rw = new ResponseWrapper();
                               rw.ques = qu;                               
                               rw.count= i;                              
                               i++; 
                               wraplist.add(rw);        
                          }   
                     }                          
                }                                 
          }
               
         Public void radiomethod()
         {                               
                 setradio.add(radio1value);
                 setopvalue.add(radioId);
                 List<Question__c> lstAns = new List<Question__c>(); 
                 lstAnwserUpdate = new List<Question__c>(); 
                 if(radio)
                 {                        
                 lstAns = [SELECT Id,Question_Type__c,Option_1__c,Option_2__cAnswer__c 
                               FROM Question__c WHERE Id IN:setopvalue AND (Option_1__c IN :setradio OR Option_2__c IN:setradio OR O IN:setradio OR
                             IN:setradio)];  
                 
                 if(lstAns.size()>0)
                 {
                     for(Question__c qe:lstAns )
                     {
                  
                     if(setradio.contains(qe.Option_1__c) && setopvalue.contains(qe.Id))
                     {
                         qe.Option_1__c = qe.Option_1__c;
                         qe.Id = qe.Id;
                         qe.Question_Type__c = qe.Question_Type__c;                     
                     }
                     else
                     {
                         qe.Option_1__c = null;    
                     } 
                     if(setradio.contains(qe.Option_2__c) && setopvalue.contains(qe.Id))
                     {
                         qe.Option_2__c = qe.Option_2__c;
                         qe.Id = qe.Id;
                         qe.Question_Type__c = qe.Question_Type__c;                     
                     }
                     else
                     {
                         qe.Option_2__c = null;    
                     }
                                                                                                                                     
                    lstAnwserUpdate.add(qe);     
                     }
             }
      }
         if(!radio) 
         {
              setradio.remove(radio1value);
              setopvalue.add(radioId);
         }                                        
     }
      Public Pagereference Submitsurvey()
     {
             List<Feedback__c> lstAnswerInsert = new List<Feedback__c>();
             List<Feedback__c> lstAnswerInsertradio = new List<Feedback__c>();                          
                                                                                  
             for(ResponseWrapper w:Wraplist)
             {
                  feedback = new Feedback__c();
                 feedback.Question__c = w.ques.id; 
                  if( w.ques.Question_Type__c=='Checkbox') 
                {
                     if(w.ques.Question_Type__c=='Checkbox')
                     {
                         if(selectedanscheck1==True)
                         {                 
                             feedback.Option1__c = w.ques.Option_1__c;
                         }
                         if(selectedanscheck2==True)
                         {
                             feedback.Option2__c = w.ques.Option_2__c;
                         }
                
               }
                  if(w.ques.Question_Type__c=='Descriptive')
                     {
                       
                        feedback.Answer_Descriptive__c= w.ques.Answer__c; 
                    
                     }          
                 LstAnswerInsert.add(feedback); 
                             if(LstAnswerInsert.size()>0)
                             {
                                Insert LstAnswerInsert;
                             }              
                
                }       
             }
                  for(Question__c qe:lstAnwserUpdate)  
                     {                    
                         if(qe.Question_Type__c=='Radio') 
                        {                                                                                                
                         feedback = new Feedback__c();                       
                         feedback.Question__c = qe.id;                          
                         if(qe.Option_1__c!=null)
                         {                           
                             feedback.Option1__c = qe.Option_1__c;
                         }
                         if(qe.Option_2__c!=null)
                         {
                             feedback.Option2__c = qe.Option_2__c;
                         }
                   
                      
                         LstAnswerInsertradio.add(feedback); 
                       }
                                                                                                                                                         
                     }                                                                                                                         
                    
             if(LstAnswerInsertradio.size()>0 )
             {
                 Insert LstAnswerInsertradio;                         
             } 
             return null;
  }
   Public class ResponseWrapper
     {
          Public Question__c ques{get;set;}
          Public Integer count{get;set;}                                                    
     }           
}
Sreenath ReddySreenath Reddy
May i know which line it is not coverd in apex class.?
Amit Trivedi 15Amit Trivedi 15
Yes sure,
I am not geting coverage inside radioMethod() and submitSurvey() inside for loop