You need to sign in to do that
Don't have an account?
Amit 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();
}
}
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();
}
}
Can you please provide the Apex Class here?.So that i will check .Thanks
{
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;}
}
}
I am not geting coverage inside radioMethod() and submitSurvey() inside for loop