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
Ranadheer chRanadheer ch 

am wrote a test class for this class ...but am getting the below error

My class

global with sharing class CampaignTaskMerge{


    private final Account_Campaign__c acr;
    public id contactId     {get;set;}
    public CampaignTaskMerge (ApexPages.StandardController controller) {

   
        this.acr = (Account_Campaign__c)controller.getRecord();
        contactId = Apexpages.currentPage().getParameters().get('id');
    }
   
    public List<Task> acrs {
        get {
            {
                acrs = [Select Id, Campaign_ID__c, Task_Type__c, OwnerID, Task_Response__c, status, AccountID
                    From Task
                  where Campaign_ID__c = :ApexPages.currentPage().getParameters().get('id') and Task_Response__c = ''
                    ];               
            }
            return acrs;
        }
        private set;
    }
        public List<Task> acrsf {
        get {
            {
                acrsf = [Select Id, Campaign_ID__c, Task_Type__c, OwnerID, Task_Response__c, status, AccountID
                    From Task
                  where Campaign_ID__c = :ApexPages.currentPage().getParameters().get('id') and Task_Response__c = 'Failure'
                    ];               
            }
            return acrsf;
        }
        private set;
    }
            public List<Task> acrss {
        get {
            {
                acrss = [Select Id, Campaign_ID__c, Task_Type__c, OwnerID, Task_Response__c, status, AccountID
                    From Task
                  where Campaign_ID__c = :ApexPages.currentPage().getParameters().get('id') and Task_Response__c = 'Success'
                    ];               
            }
            return acrss;
        }
        private set;
    }



}



my testclass

@isTest
private class TestaskmergeClass{
    @isTest
    private static void testClass()
    {
    //Standard controller of Accountcontactrole
    //Create a new instance of Accountcontactrole
    Account acc = new Account(Name = 'Test Account');
    insert acc;
    Contact con = new Contact(LastName = 'Test Last Name', AccountId = acc.Id);
    insert con;
  Account_Campaign__c acr1 = new Account_Campaign__c();
         acr1.name='Test2';
     insert acr1;
 
    //Insert the object virtually


    //Create a new instance of standard controller
    ApexPages.StandardController sc = new ApexPages.standardController(acr1);

   Account_Campaign__c controller = new Account_Campaign__c(sc);
   
    List<Task>  acrsTest = controller.acrs;
    List<Task>  acrsfTest = controller.acrsf;
    List<Task>  acrssTest = controller.acrss;
  
    }
}



am getting this error while saving the test class Error: Compile Error: SObject constructor must use name=value pairs at line 22 column 37
Best Answer chosen by Ranadheer ch
Anoop yadavAnoop yadav
Hi,

Use CampaignTaskMerge controller = new CampaignTaskMerge(sc)
instead of Account_Campaign__c controller = new Account_Campaign__c(sc);

All Answers

Anoop yadavAnoop yadav
Hi,

Use CampaignTaskMerge controller = new CampaignTaskMerge(sc)
instead of Account_Campaign__c controller = new Account_Campaign__c(sc);
This was selected as the best answer
Ranadheer chRanadheer ch
Thanks anoop...i now appled ur logic...thanks u so much