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
Adriana Reyes 26Adriana Reyes 26 

Help with Test Class on a Controller

So I have this visualforce page:
<apex:page id="Page" showHeader="false" controller="AcceptedCallPage" action="{!InitPage}" cache="false">
    <apex:form >
        Thank you! You have successfully accepted this call.
    </apex:form>
</apex:page>

And this controller:
public class AcceptedCallPage {
    public string ObjectId {get;set;}
    public string AcceptedResponse {get;set;}
    public AcceptedCallPage () {
        ObjectId = ApexPages.currentPage().getParameters().get('ObjectId');
        AcceptedResponse = ApexPages.currentPage().getParameters().get('AcceptedResponse');
    }
    public PageReference InitPage() {
        List<Service_Call__c> ServiceCalls = [Select Id, Status__c From Service_Call__c Where Id=:ObjectId LIMIT 1];
        if(!ServiceCalls.isEmpty()) {
            ServiceCalls[0].Status__c = AcceptedResponse;
            Update ServiceCalls;
        }
     return null;   
    }
}

I'm trying to get 100% code coverage, but I don't really know what I'm doing. Here is what I have:
@isTest
public class AcceptedCTRTest {
    public static testMethod void testMyController() {
        Service_Call__c sc = new Service_Call__c();
        sc.Status__c = 'Entered';
        insert sc;
        
        Test.startTest();
        	PageReference pageRef = Page.CallAccepted;
        	pageRef.getParameters().put('ObjectId', String.valueOf(sc.Id));
        	pageRef.getParameters().put('AcceptedResponse','Accepted');
        	Test.setCurrentPage(pageRef);
        Test.stopTest();
    }
}

Any help is appreciated. Thanks!​
Best Answer chosen by Adriana Reyes 26
Raj VakatiRaj Vakati
@isTest
public class AcceptedCTRTest {
    public static testMethod void testMyController() {
        Service_Call__c sc = new Service_Call__c();
        sc.Status__c = 'Entered';
        insert sc;
        
        Test.startTest();
        	PageReference pageRef = Page.CallAccepted;
        	pageRef.getParameters().put('ObjectId', String.valueOf(sc.Id));
        	pageRef.getParameters().put('AcceptedResponse','Accepted');
        	Test.setCurrentPage(pageRef);
			
			AcceptedCallPage  ao = new AcceptedCallPage () ;
			ao.InitPage();
			
			
        Test.stopTest();
    }
}

 

All Answers

Raj VakatiRaj Vakati
@isTest
public class AcceptedCTRTest {
    public static testMethod void testMyController() {
        Service_Call__c sc = new Service_Call__c();
        sc.Status__c = 'Entered';
        insert sc;
        
        Test.startTest();
        	PageReference pageRef = Page.CallAccepted;
        	pageRef.getParameters().put('ObjectId', String.valueOf(sc.Id));
        	pageRef.getParameters().put('AcceptedResponse','Accepted');
        	Test.setCurrentPage(pageRef);
			
			AcceptedCallPage  ao = new AcceptedCallPage () ;
			ao.InitPage();
			
			
        Test.stopTest();
    }
}

 
This was selected as the best answer
Adriana Reyes 26Adriana Reyes 26
Perfect. Thank you so much!