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
sumit dsumit d 

test class error:-Constructor not defined: [CloneOpportunityController].<Constructor>()

Hi All,
         my test class is giving following error:-Constructor not defined: [CloneOpportunityController].<Constructor>()
Test class is given below:-

@istest
public class CloneOpportunityControllerTest {
    Static testmethod void cloneOppTest(){
        String currentRecordId  = ApexPages.CurrentPage().getparameters().get('id');
        test.startTest();
        Account a = new Account(Name='newAcct'); 
        insert a; 
        
        Opportunity oppt = new Opportunity(Name ='New opp',
                                           AccountID = a.ID,
                                           StageName = 'Customer Won',
                                           CloseDate = System.today()+10,
                                           Amount = 3000
                                          );
        insert oppt;
        
        Opportunity_Qualifier__c oq = [Select id, Opportunity_Name__c 
                                       from Opportunity_Qualifier__c 
                                       where Opportunity_Name__r.Id =: oppt.Id];
        
        Top_Business_Priorities_and_Outcomes__c tb  = new Top_Business_Priorities_and_Outcomes__c();
        tb.Opportunity_Qualifier__c = oq.Id;
        insert tb;
        
        Identified_Pain_MEDDIC__c ipMedicToInsert = new Identified_Pain_MEDDIC__c();
        ipMedicToInsert.Opportunity_Qualifier__c = oq.Id;
        insert ipMedicToInsert;
        
        Decision_Making_Role_MEDDICC__c dmRoleToInsert = new Decision_Making_Role_MEDDICC__c();
        dmRoleToInsert.Opportunity_Qualifier__c = oq.Id;
        insert dmRoleToInsert;
        
        Decision_Criteria__c dcToInsert = new Decision_Criteria__c();
        dcToInsert.Opportunity_Qualifier__c = oq.Id;
        insert dcToInsert;
        
        Competition_MEDDICC__c cmMedicToInsert = new Competition_MEDDICC__c();
        cmMedicToInsert.Opportunity_Qualifier__c = oq.Id;
        insert cmMedicToInsert;
        
        Relevant_Case_Studies_MEDDICC__c rcsMedicToInsert = new Relevant_Case_Studies_MEDDICC__c();
        rcsMedicToInsert.Opportunity_Qualifier__c = oq.Id;
        insert rcsMedicToInsert;
        
        Decision_Process_MEDDICC__c dpMedicToInsert = new Decision_Process_MEDDICC__c();
        dpMedicToInsert.Opportunity_Qualifier__c = oq.Id;
        insert dpMedicToInsert;
        
        UA_Teammate_Role__c uateamMateToInsert = new UA_Teammate_Role__c();
        uateamMateToInsert.Opportunity_Qualifier__c = oq.id;
        insert uateamMateToInsert;
         
        PageReference pageRef = Page.CloneOpportunity; 
        pageRef.getParameters().put('id', oppt.id);
        Test.setCurrentPage(pageRef);
        CloneOpportunityController co = new CloneOpportunityController();
        co.cloneOpportunity();
        test.stopTest();
     }          
     }
how to sove this error?
Any suggestions?
Best Answer chosen by sumit d
Raj VakatiRaj Vakati
Try this code
 
@istest
public class CloneOpportunityControllerTest {
    Static testmethod void cloneOppTest(){
        String currentRecordId  = ApexPages.CurrentPage().getparameters().get('id');
        test.startTest();
        Account a = new Account(Name='newAcct'); 
        insert a; 
        
        Opportunity oppt = new Opportunity(Name ='New opp',
                                           AccountID = a.ID,
                                           StageName = 'Customer Won',
                                           CloseDate = System.today()+10,
                                           Amount = 3000
                                          );
        insert oppt;
        
        Opportunity_Qualifier__c oq = [Select id, Opportunity_Name__c 
                                       from Opportunity_Qualifier__c 
                                       where Opportunity_Name__r.Id =: oppt.Id];
        
        Top_Business_Priorities_and_Outcomes__c tb  = new Top_Business_Priorities_and_Outcomes__c();
        tb.Opportunity_Qualifier__c = oq.Id;
        insert tb;
        
        Identified_Pain_MEDDIC__c ipMedicToInsert = new Identified_Pain_MEDDIC__c();
        ipMedicToInsert.Opportunity_Qualifier__c = oq.Id;
        insert ipMedicToInsert;
        
        Decision_Making_Role_MEDDICC__c dmRoleToInsert = new Decision_Making_Role_MEDDICC__c();
        dmRoleToInsert.Opportunity_Qualifier__c = oq.Id;
        insert dmRoleToInsert;
        
        Decision_Criteria__c dcToInsert = new Decision_Criteria__c();
        dcToInsert.Opportunity_Qualifier__c = oq.Id;
        insert dcToInsert;
        
        Competition_MEDDICC__c cmMedicToInsert = new Competition_MEDDICC__c();
        cmMedicToInsert.Opportunity_Qualifier__c = oq.Id;
        insert cmMedicToInsert;
        
        Relevant_Case_Studies_MEDDICC__c rcsMedicToInsert = new Relevant_Case_Studies_MEDDICC__c();
        rcsMedicToInsert.Opportunity_Qualifier__c = oq.Id;
        insert rcsMedicToInsert;
        
        Decision_Process_MEDDICC__c dpMedicToInsert = new Decision_Process_MEDDICC__c();
        dpMedicToInsert.Opportunity_Qualifier__c = oq.Id;
        insert dpMedicToInsert;
        
        UA_Teammate_Role__c uateamMateToInsert = new UA_Teammate_Role__c();
        uateamMateToInsert.Opportunity_Qualifier__c = oq.id;
        insert uateamMateToInsert;
         
        PageReference pageRef = Page.CloneOpportunity; 
        pageRef.getParameters().put('id', oppt.id);
        Test.setCurrentPage(pageRef);
ApexPages.StandardController sc = new ApexPages.StandardController(oppt );

        CloneOpportunityController co = new CloneOpportunityController(sc);
        co.cloneOpportunity();
        test.stopTest();
     }          
     }

 

All Answers

Sampath SuranjiSampath Suranji
Hi,
Could you please provide the original apex class also. most probably the constructor method in the class may required additional parameters
Raj VakatiRaj Vakati
Try this code
 
@istest
public class CloneOpportunityControllerTest {
    Static testmethod void cloneOppTest(){
        String currentRecordId  = ApexPages.CurrentPage().getparameters().get('id');
        test.startTest();
        Account a = new Account(Name='newAcct'); 
        insert a; 
        
        Opportunity oppt = new Opportunity(Name ='New opp',
                                           AccountID = a.ID,
                                           StageName = 'Customer Won',
                                           CloseDate = System.today()+10,
                                           Amount = 3000
                                          );
        insert oppt;
        
        Opportunity_Qualifier__c oq = [Select id, Opportunity_Name__c 
                                       from Opportunity_Qualifier__c 
                                       where Opportunity_Name__r.Id =: oppt.Id];
        
        Top_Business_Priorities_and_Outcomes__c tb  = new Top_Business_Priorities_and_Outcomes__c();
        tb.Opportunity_Qualifier__c = oq.Id;
        insert tb;
        
        Identified_Pain_MEDDIC__c ipMedicToInsert = new Identified_Pain_MEDDIC__c();
        ipMedicToInsert.Opportunity_Qualifier__c = oq.Id;
        insert ipMedicToInsert;
        
        Decision_Making_Role_MEDDICC__c dmRoleToInsert = new Decision_Making_Role_MEDDICC__c();
        dmRoleToInsert.Opportunity_Qualifier__c = oq.Id;
        insert dmRoleToInsert;
        
        Decision_Criteria__c dcToInsert = new Decision_Criteria__c();
        dcToInsert.Opportunity_Qualifier__c = oq.Id;
        insert dcToInsert;
        
        Competition_MEDDICC__c cmMedicToInsert = new Competition_MEDDICC__c();
        cmMedicToInsert.Opportunity_Qualifier__c = oq.Id;
        insert cmMedicToInsert;
        
        Relevant_Case_Studies_MEDDICC__c rcsMedicToInsert = new Relevant_Case_Studies_MEDDICC__c();
        rcsMedicToInsert.Opportunity_Qualifier__c = oq.Id;
        insert rcsMedicToInsert;
        
        Decision_Process_MEDDICC__c dpMedicToInsert = new Decision_Process_MEDDICC__c();
        dpMedicToInsert.Opportunity_Qualifier__c = oq.Id;
        insert dpMedicToInsert;
        
        UA_Teammate_Role__c uateamMateToInsert = new UA_Teammate_Role__c();
        uateamMateToInsert.Opportunity_Qualifier__c = oq.id;
        insert uateamMateToInsert;
         
        PageReference pageRef = Page.CloneOpportunity; 
        pageRef.getParameters().put('id', oppt.id);
        Test.setCurrentPage(pageRef);
ApexPages.StandardController sc = new ApexPages.StandardController(oppt );

        CloneOpportunityController co = new CloneOpportunityController(sc);
        co.cloneOpportunity();
        test.stopTest();
     }          
     }

 
This was selected as the best answer
sumit dsumit d
Thanks for responding. it helps raj.