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
Barrie PotterBarrie Potter 

Help with Test for Extension

I would really apprecitate some assitance here getting this test to work right. I am not a developer but I am trying!
Here is my Controller Extension 
public with sharing class ContactSaveEXT {
    ApexPages.StandardController controller;
    public ContactSaveEXT (ApexPages.StandardController controller) {
        this.controller = controller;
    }
    public PageReference doSaveAndRedirect() {
        this.controller.save();
        PageReference redirect = new PageReference('https://c.cs43.visual.force.com/apex/Thankyoupage?core.apexpages.request.devconsole=1');
        return redirect;
    }
}

And here is my test
@isTest
public class ContactSaveExt_Test {
  
    static testmethod void test() 
    {
   //create Account

Account testAccount = new Account();
		testAccount.Name='Test Account' ;
		insert testAccount; 
//Create Contact
Contact con= new contact();
con.Email = 'Test@gmail.com';
con.LastName= 'TodayTest';
con.FirstName= 'Test';
con.Id = con.Id;
insert con;   

//create pageReference
PageReference page = new PageReference('/apex/AdultVolunteerWaiver');
Test.setCurrentPage(page);

//pass parameter to the page
ApexPages.currentPage().getParameters().put('id',con.Id);
ApexPages.currentPage().getParameters().put('FirstName',con.FirstName);
ApexPages.currentPage().getParameters().put('LastName',con.LastName);
ApexPages.currentPage().getParameters().put('Email',con.Email);


//create an instance of controller.
ApexPages.StandardController standrdcontroller = new ApexPages.StandardController(con);  

ContactSaveExt clsInstance = new ContactSaveExt(standrdcontroller);

    }    
}

Amit Chaudhary 8Amit Chaudhary 8


Try to update your class like below
@isTest
public class ContactSaveExt_Test {
  
		static testmethod void test() 
		{
			//create Account
			Account testAccount = new Account();
			testAccount.Name='Test Account' ;
			insert testAccount; 
			
			//Create Contact
			Contact con= new contact();
			con.Email = 'Test@gmail.com';
			con.LastName= 'TodayTest';
			con.FirstName= 'Test';
			con.Id = con.Id;
			insert con;   

			//create pageReference
			PageReference page = new PageReference('/apex/AdultVolunteerWaiver');
			Test.setCurrentPage(page);

			//pass parameter to the page
			ApexPages.currentPage().getParameters().put('id',con.Id);
			ApexPages.currentPage().getParameters().put('FirstName',con.FirstName);
			ApexPages.currentPage().getParameters().put('LastName',con.LastName);
			ApexPages.currentPage().getParameters().put('Email',con.Email);


			//create an instance of controller.
			ApexPages.StandardController standrdcontroller = new ApexPages.StandardController(con);  

			ContactSaveExt clsInstance = new ContactSaveExt(standrdcontroller);
			clsInstance.doSaveAndRedirect();
			
		}    
}

Or you can try below class as well
@isTest
public class ContactSaveExt_Test {
  
		static testmethod void test() 
		{
			//create Account
			Account testAccount = new Account();
			testAccount.Name='Test Account' ;
			insert testAccount; 
			
			ApexPages.StandardController standrdcont = new ApexPages.StandardController(testAccount);  

			ContactSaveExt clsInstance = new ContactSaveExt(standrdcont);
			clsInstance.doSaveAndRedirect();
			
			// Add Assert here
		}    
}


Let us know if this will help you