You need to sign in to do that
Don't have an account?

Test class not getting full coverage
public class SurveyCntrl
{
public Id oppId{get;set;}
public Opportunity opp{get;set;}
public Survey__c survey{get;set;}
public List<QuestionWrapper> queWraList{get;set;}
// public List<QuestionWrapper> optWraList{get;set;}
public List<String> optWraList{get;set;}
public integer srN {get; set;}
Public Question__c que{get;set;}
public Integer rowIndex { get; set; }
public boolean showAddQuestion {get; set;}
public boolean showAddQues {get; set;}
public List<AddOptWrapper> listValueOfTextBox{get;set;}
public SurveyCntrl(ApexPages.StandardController controller)
{
optWraList = new List<String>();
oppId = ApexPages.CurrentPage().getParameters().get('id');
opp = [ Select Id,Name,StageName From Opportunity Where Id=:oppId];
queWraList= new List<QuestionWrapper>();
// optWraList = new List<QuestionWrapper>();
que = new Question__c();
survey = new Survey__c();
showAddQuestion = true;
showAddQues = true;
AddQuestion();
listvalueOfTextBox = new List<AddOptWrapper>();
}
public PageReference addTextBox()
{
listvalueOfTextBox.add(new AddOptWrapper('TextBox' + (listvalueOfTextBox.size() + 1)));
System.debug('####'+listvalueOfTextBox);
return ApexPages.currentPage();
}
public PageReference removeTextBox()
{
listvalueOfTextBox.remove(listvalueOfTextBox.size()-1);
return ApexPages.currentPage();
}
public PageReference oppDetail()
{
PageReference pg = new Pagereference('/apex/OpportunityDetail?id='+oppId);
return pg;
}
/* public Pagereference AddOption()
{
QuestionWrapper qWra = new QuestionWrapper();
qWra.question = new question__c();
qWra.sr = optWraList.size() + 3;
qWra.sr = qWra.optWraList.size() + 3;
// optWraList.add(qWra);
return null;
}
public Pagereference RemoveOption()
{
//Integer rowNum = Integer.valueOf(ApexPages.currentPage().getParameters().get('rowIndex'));
//System.debug('######'+rowIndex );
Integer i=0;
// i = optWraList.size()-1;
// optWraList.remove(i);
return null;
}*/
public Pagereference save()
{
List<question__c> queList = new List<question__c>();
if(survey.name != null && survey.name != '')
{
survey.Opportunity__c = OppId;
insert Survey;
for(QuestionWrapper queWra : queWraList){
question__c qs = new question__c();
if(queWra.question.Question__c != null && queWra.question.Question__c != '')
{
qs.Question__c = queWra.Question.Question__c;
qs.Option_1__c = queWra.question.Option_1__c;
qs.Option_2__c = queWra.question.Option_2__c;
//qs.Option_3__c = queWra.optWraList.get(0);
qs.Option_4__c = queWra.question.Option_4__c;
qs.Option_5__c = queWra.question.Option_5__c;
qs.Option_6__c = queWra.question.Option_6__c;
qs.Option_7__c = queWra.question.Option_7__c;
qs.Option_8__c = queWra.question.Option_8__c;
qs.Option_9__c = queWra.question.Option_9__c;
qs.Option_10__c = queWra.question.Option_10__c;
qs.Is_Mandatory__c = queWra.question.Is_Mandatory__c;
System.debug('@@@@@'+queWra.question.Is_Mandatory__c) ;
qs.Question_Type__c = queWra.question.Question_Type__c;
System.debug('@@@@@'+queWra.question.Question_Type__c);
qs.Survey__c = Survey.id;
queList.add(qs);
}
}
if(queList.size() > 0){
insert queList;
}
}else{
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please enter survey name'));
}
return null;
}
public Pagereference SaveAndSend()
{
List<question__c> queList = new List<question__c>();
if(survey.name != '' && survey.name != null)
{
survey.Opportunity__c = OppId;
insert Survey;
for(QuestionWrapper queWra : queWraList){
question__c qs = new question__c();
if(queWra.question.Question__c != null && queWra.question.Question__c != ''){
qs.Question__c = queWra.Question.Question__c;
qs.Option_1__c = queWra.question.Option_1__c;
qs.Option_2__c = queWra.question.Option_2__c;
// qs.Option_3__c = queWra.optWraList.get(0);
qs.Option_4__c = queWra.question.Option_4__c;
qs.Option_5__c = queWra.question.Option_5__c;
qs.Option_6__c = queWra.question.Option_6__c;
qs.Option_7__c = queWra.question.Option_7__c;
qs.Option_8__c = queWra.question.Option_8__c;
qs.Option_9__c = queWra.question.Option_9__c;
qs.Option_10__c = queWra.question.Option_10__c;
System.debug('@@@@@'+queWra.question.Is_Mandatory__c) ;
qs.Is_Mandatory__c = queWra.question.Is_Mandatory__c;
qs.Question_Type__c = queWra.question.Question_Type__c;
System.debug('@@@@@'+queWra.question.Question_Type__c);
qs.Survey__c = Survey.id;
queList.add(qs);
}
}
if(queList.size() > 0)
{
insert queList;
}
}
else
{
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please enter survey name'));
}
PageReference pg = new Pagereference('/apex/SurveySecondPage?SurveyId='+survey.Id);
pg.setRedirect(true);
return pg;
}
public Pagereference AddQuestion()
{
QuestionWrapper qw = new QuestionWrapper();
qw.question = new question__c();
qw.question.Question_Type__c='Radio';
qw.srNo = queWraList.size() + 1;
queWraList.add(qw);
return null;
}
public Pagereference RemoveQuestion()
{
Integer i=0;
i = queWraList.size() - 1;
queWraList.remove(i);
return null;
}
public class AddOptWrapper
{
public string textBoxLabel{get;set;}
public string textBoxValue{get;set;}
public AddOptWrapper(String textBoxLabel)
{
this.textBoxLabel = textBoxLabel;
}
}
public class QuestionWrapper
{
public Question__c question {get;set;}
public List<String> optWraList {get;set;}
public integer srNo {get; set;}
public integer sr {get; set;}
public boolean showMand {get; set;}
public QuestionWrapper()
{
showMand = false;
}
}
}
This is my test controller
@isTest
public class SurveyCntrlTest
{
public static testMethod void surveyC()
{
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,2);
insert sur1;
Question__c que1 = TestDataGenerator.createQuestion('Who',false,'Test','Test','Test','Test','Test','Test','Test','Test','Test','Test','Test',sur1);
insert que1;
Test.startTest();
ApexPages.CurrentPage().getparameters().put('id', opp1.id);
ApexPages.StandardController controller = new ApexPages.StandardController(opp1);
SurveyCntrl sc = new SurveyCntrl(controller);
sc.addTextBox();
sc.removeTextBox();
sc.oppDetail();
sc.save();
sc.SaveAndSend();
sc.AddQuestion();
sc.RemoveQuestion();
}
}
I am not getting coverage for save and save and send functionality
{
public Id oppId{get;set;}
public Opportunity opp{get;set;}
public Survey__c survey{get;set;}
public List<QuestionWrapper> queWraList{get;set;}
// public List<QuestionWrapper> optWraList{get;set;}
public List<String> optWraList{get;set;}
public integer srN {get; set;}
Public Question__c que{get;set;}
public Integer rowIndex { get; set; }
public boolean showAddQuestion {get; set;}
public boolean showAddQues {get; set;}
public List<AddOptWrapper> listValueOfTextBox{get;set;}
public SurveyCntrl(ApexPages.StandardController controller)
{
optWraList = new List<String>();
oppId = ApexPages.CurrentPage().getParameters().get('id');
opp = [ Select Id,Name,StageName From Opportunity Where Id=:oppId];
queWraList= new List<QuestionWrapper>();
// optWraList = new List<QuestionWrapper>();
que = new Question__c();
survey = new Survey__c();
showAddQuestion = true;
showAddQues = true;
AddQuestion();
listvalueOfTextBox = new List<AddOptWrapper>();
}
public PageReference addTextBox()
{
listvalueOfTextBox.add(new AddOptWrapper('TextBox' + (listvalueOfTextBox.size() + 1)));
System.debug('####'+listvalueOfTextBox);
return ApexPages.currentPage();
}
public PageReference removeTextBox()
{
listvalueOfTextBox.remove(listvalueOfTextBox.size()-1);
return ApexPages.currentPage();
}
public PageReference oppDetail()
{
PageReference pg = new Pagereference('/apex/OpportunityDetail?id='+oppId);
return pg;
}
/* public Pagereference AddOption()
{
QuestionWrapper qWra = new QuestionWrapper();
qWra.question = new question__c();
qWra.sr = optWraList.size() + 3;
qWra.sr = qWra.optWraList.size() + 3;
// optWraList.add(qWra);
return null;
}
public Pagereference RemoveOption()
{
//Integer rowNum = Integer.valueOf(ApexPages.currentPage().getParameters().get('rowIndex'));
//System.debug('######'+rowIndex );
Integer i=0;
// i = optWraList.size()-1;
// optWraList.remove(i);
return null;
}*/
public Pagereference save()
{
List<question__c> queList = new List<question__c>();
if(survey.name != null && survey.name != '')
{
survey.Opportunity__c = OppId;
insert Survey;
for(QuestionWrapper queWra : queWraList){
question__c qs = new question__c();
if(queWra.question.Question__c != null && queWra.question.Question__c != '')
{
qs.Question__c = queWra.Question.Question__c;
qs.Option_1__c = queWra.question.Option_1__c;
qs.Option_2__c = queWra.question.Option_2__c;
//qs.Option_3__c = queWra.optWraList.get(0);
qs.Option_4__c = queWra.question.Option_4__c;
qs.Option_5__c = queWra.question.Option_5__c;
qs.Option_6__c = queWra.question.Option_6__c;
qs.Option_7__c = queWra.question.Option_7__c;
qs.Option_8__c = queWra.question.Option_8__c;
qs.Option_9__c = queWra.question.Option_9__c;
qs.Option_10__c = queWra.question.Option_10__c;
qs.Is_Mandatory__c = queWra.question.Is_Mandatory__c;
System.debug('@@@@@'+queWra.question.Is_Mandatory__c) ;
qs.Question_Type__c = queWra.question.Question_Type__c;
System.debug('@@@@@'+queWra.question.Question_Type__c);
qs.Survey__c = Survey.id;
queList.add(qs);
}
}
if(queList.size() > 0){
insert queList;
}
}else{
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please enter survey name'));
}
return null;
}
public Pagereference SaveAndSend()
{
List<question__c> queList = new List<question__c>();
if(survey.name != '' && survey.name != null)
{
survey.Opportunity__c = OppId;
insert Survey;
for(QuestionWrapper queWra : queWraList){
question__c qs = new question__c();
if(queWra.question.Question__c != null && queWra.question.Question__c != ''){
qs.Question__c = queWra.Question.Question__c;
qs.Option_1__c = queWra.question.Option_1__c;
qs.Option_2__c = queWra.question.Option_2__c;
// qs.Option_3__c = queWra.optWraList.get(0);
qs.Option_4__c = queWra.question.Option_4__c;
qs.Option_5__c = queWra.question.Option_5__c;
qs.Option_6__c = queWra.question.Option_6__c;
qs.Option_7__c = queWra.question.Option_7__c;
qs.Option_8__c = queWra.question.Option_8__c;
qs.Option_9__c = queWra.question.Option_9__c;
qs.Option_10__c = queWra.question.Option_10__c;
System.debug('@@@@@'+queWra.question.Is_Mandatory__c) ;
qs.Is_Mandatory__c = queWra.question.Is_Mandatory__c;
qs.Question_Type__c = queWra.question.Question_Type__c;
System.debug('@@@@@'+queWra.question.Question_Type__c);
qs.Survey__c = Survey.id;
queList.add(qs);
}
}
if(queList.size() > 0)
{
insert queList;
}
}
else
{
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please enter survey name'));
}
PageReference pg = new Pagereference('/apex/SurveySecondPage?SurveyId='+survey.Id);
pg.setRedirect(true);
return pg;
}
public Pagereference AddQuestion()
{
QuestionWrapper qw = new QuestionWrapper();
qw.question = new question__c();
qw.question.Question_Type__c='Radio';
qw.srNo = queWraList.size() + 1;
queWraList.add(qw);
return null;
}
public Pagereference RemoveQuestion()
{
Integer i=0;
i = queWraList.size() - 1;
queWraList.remove(i);
return null;
}
public class AddOptWrapper
{
public string textBoxLabel{get;set;}
public string textBoxValue{get;set;}
public AddOptWrapper(String textBoxLabel)
{
this.textBoxLabel = textBoxLabel;
}
}
public class QuestionWrapper
{
public Question__c question {get;set;}
public List<String> optWraList {get;set;}
public integer srNo {get; set;}
public integer sr {get; set;}
public boolean showMand {get; set;}
public QuestionWrapper()
{
showMand = false;
}
}
}
This is my test controller
@isTest
public class SurveyCntrlTest
{
public static testMethod void surveyC()
{
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,2);
insert sur1;
Question__c que1 = TestDataGenerator.createQuestion('Who',false,'Test','Test','Test','Test','Test','Test','Test','Test','Test','Test','Test',sur1);
insert que1;
Test.startTest();
ApexPages.CurrentPage().getparameters().put('id', opp1.id);
ApexPages.StandardController controller = new ApexPages.StandardController(opp1);
SurveyCntrl sc = new SurveyCntrl(controller);
sc.addTextBox();
sc.removeTextBox();
sc.oppDetail();
sc.save();
sc.SaveAndSend();
sc.AddQuestion();
sc.RemoveQuestion();
}
}
I am not getting coverage for save and save and send functionality
Code coverage are uncovered in save() ans saveand Send Method().
and i added survey name also
@isTest
public class SurveyCntrlTest
{
public static testMethod void surveyC()
{
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;
Test.startTest();
ApexPages.CurrentPage().getparameters().put('id', opp1.id);
ApexPages.StandardController controller = new ApexPages.StandardController(opp1);
SurveyCntrl sc = new SurveyCntrl(controller);
sc.survey.name = 'Test';
sc.survey.Opportunity__c = opp1.Id;
sc.survey.Survey_Send_Date__c = Date.today();
sc.survey.Description__c = 'test';
sc.que.Question__c = 'Who';
sc.que.Survey__c = sc.survey.Id;
sc.que.Keyword__c = 'Test';
sc.que.Option_1__c = 'Test';
sc.que.Option_2__c = 'Test';
sc.que.Option_3__c = 'Test';
sc.que.Option_4__c = 'Test';
sc.que.Option_5__c = 'Test';
sc.que.Option_6__c = 'Test';
sc.que.Option_7__c = 'Test';
sc.que.Option_8__c = 'Test';
sc.que.Option_9__c = 'Test';
sc.que.Option_10__c = 'Test';
sc.que.Question_Type__c = 'Radio';
sc.que.Is_Mandatory__c = false;
sc.oppDetail();
sc.addOption();
sc.removeOption();
sc.hideOption();
sc.save();
sc.SaveAndSend();
sc.AddQuestion();
sc.RemoveQuestion();
Test.stopTest();
}
}
System.DmlException: Insert failed. First exception on row 0 with id a00280000015vt9AAA; first error: INVALID_FIELD_FOR_INSERT_UPDATE, cannot specify Id in an insert call: [Id]
Stack Trace Class.SurveyCntrl.SaveAndSend: line 106, column 1
Class.SurveyCntrlTest.surveyC: line 58, column 1
{
public Id oppId{get;set;}
public Opportunity opp{get;set;}
public Survey__c survey{get;set;}
public List<QuestionWrapper> queWraList{get;set;}
public List<QuestionWrapper> optWraList{get;set;}
Public Question__c que{get;set;}
public Integer rowIndex { get; set; }
public boolean showAddQuestion {get; set;}
public boolean showAddQues {get; set;}
public SurveyCntrl(ApexPages.StandardController controller)
{
oppId = oppId = ApexPages.CurrentPage().getParameters().get('id');
opp = [ Select Id,Name,StageName From Opportunity Where Id=:oppId];
queWraList= new List<QuestionWrapper>();
que = new Question__c();
survey = new Survey__c();
showAddQuestion = true;
showAddQues = true;
AddQuestion();
optWraList= new list<QuestionWrapper>();
}
public pagereference hideOption()
{
return null;
}
public PageReference oppDetail()
{
PageReference pg = new Pagereference('/apex/OpportunityDetail?id='+oppId);
return pg;
}
public Pagereference AddOption()
{
return null;
}
public Pagereference RemoveOption()
{
//Integer i=0;
//i = optWraList.size();
return null;
}
public Pagereference save()
{
List<question__c> queList = new List<question__c>();
if(survey.name != null && survey.name != '')
{
survey.Opportunity__c = OppId;
insert Survey;
for(QuestionWrapper queWra : queWraList){
question__c qs = new question__c();
if(queWra.question.Question__c != null && queWra.question.Question__c != '')
{
qs.Question__c = queWra.Question.Question__c;
qs.Option_1__c = queWra.question.Option_1__c;
qs.Option_2__c = queWra.question.Option_2__c;
qs.Option_3__c = queWra.question.Option_3__c;
qs.Option_4__c = queWra.question.Option_4__c;
qs.Option_5__c = queWra.question.Option_5__c;
qs.Option_6__c = queWra.question.Option_6__c;
qs.Option_7__c = queWra.question.Option_7__c;
qs.Option_8__c = queWra.question.Option_8__c;
qs.Option_9__c = queWra.question.Option_9__c;
qs.Option_10__c = queWra.question.Option_10__c;
qs.Is_Mandatory__c = queWra.question.Is_Mandatory__c;
System.debug('@@@@@'+queWra.question.Is_Mandatory__c) ;
qs.Question_Type__c = queWra.question.Question_Type__c;
System.debug('@@@@@'+queWra.question.Question_Type__c);
qs.Survey__c = Survey.id;
queList.add(qs);
}
}
if(queList.size() > 0){
insert queList;
}
}else{
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please enter survey name'));
}
return null;
}
public Pagereference SaveAndSend()
{
List<question__c> queList = new List<question__c>();
if(survey.name != null && survey.name != '')
{
survey.Opportunity__c = OppId;
insert Survey;
for(QuestionWrapper queWra : queWraList){
question__c qs = new question__c();
if(queWra.question.Question__c != null && queWra.question.Question__c != '')
{
qs.Question__c = queWra.Question.Question__c;
qs.Option_1__c = queWra.question.Option_1__c;
qs.Option_2__c = queWra.question.Option_2__c;
qs.Option_3__c = queWra.question.Option_3__c;
qs.Option_4__c = queWra.question.Option_4__c;
qs.Option_5__c = queWra.question.Option_5__c;
qs.Option_6__c = queWra.question.Option_6__c;
qs.Option_7__c = queWra.question.Option_7__c;
qs.Option_8__c = queWra.question.Option_8__c;
qs.Option_9__c = queWra.question.Option_9__c;
qs.Option_10__c = queWra.question.Option_10__c;
qs.Is_Mandatory__c = queWra.question.Is_Mandatory__c;
System.debug('@@@@@'+queWra.question.Is_Mandatory__c) ;
qs.Question_Type__c = queWra.question.Question_Type__c;
System.debug('@@@@@'+queWra.question.Question_Type__c);
qs.Survey__c = Survey.id;
queList.add(qs);
}
}
if(queList.size() > 0){
upsert queList;
}
PageReference pg = new Pagereference('/apex/SurveySecondPage?id='+oppId);
return pg;
}
else
{
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please enter survey name'));
}
return null;
}
public Pagereference AddQuestion()
{
QuestionWrapper qw = new QuestionWrapper();
qw.question = new question__c();
qw.question.Question_Type__c='Radio';
qw.srNo = queWraList.size() + 1;
queWraList.add(qw);
return null;
}
public Pagereference RemoveQuestion()
{
Integer i=0;
i = queWraList.size() - 1;
queWraList.remove(i);
return null;
}
/* public class OptionWrapper
{
public Question__c question {get;set;}
public list<String> lstOptions{get;set;}
public List<Integer> iter {get;set;}
}*/
public class QuestionWrapper
{
public Question__c question {get;set;}
public integer srNo {get; set;}
public boolean showMand {get; set;}
public QuestionWrapper()
{
showMand = false;
}
}
}