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
pradeep naredlapradeep naredla 

can any one help me to write test class for this class

---------------VfpageCode---------------

<apex:page standardcontroller="contact" extensions="sample123">
<apex:form >
<apex:pageBlock >
<apex:pageBlockButtons >
<apex:commandButton action="{!layout}" value="layout" />
<apex:commandButton action="{!cancel}" value="Cancel" />
</apex:pageBlockButtons>
<apex:pageBlockSection columns="2">
<!------<apex:inputField value="{!Contact.Accountid}"></apex:inputField>----->
<apex:pageblockSectionItem >
<apex:outputLabel value="State"/>
</apex:pageblockSectionItem>
<apex:pageblockSectionItem >
<apex:selectList size="1" value="{!state}">
<apex:selectOptions value="{!states}"/>
<apex:actionSupport event="onchange" reRender="a"/>
</apex:selectList>
</apex:pageblockSectionItem>
<apex:pageblockSectionItem >
<apex:outputLabel value="City"/>
</apex:pageblockSectionItem>
<apex:pageblockSectionItem >
<apex:selectList size="1" value="{!city}" id="a">
<apex:selectOptions value="{!cities}"/>
</apex:selectList>
</apex:pageblockSectionItem>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>

---------------ClassCode---------------
public class sample123
{

    public sample123(ApexPages.StandardController controller)
     {

    }

    public String state {get;set;}
    public String city {get;set;}

    public List<SelectOption> getStates()
    {
        List<SelectOption> options = new List<SelectOption>();
        options.add(new SelectOption('None','--- None ---'));        
        options.add(new SelectOption('TN','Tamil Nadu'));
        options.add(new SelectOption('KL','Kerala'));
        return options;
    } 
   
    
    public List<SelectOption> getCities()
    {
        List<SelectOption> options = new List<SelectOption>();
        if(state == 'TN')
        {       
            options.add(new SelectOption('CHE','Chennai'));
            options.add(new SelectOption('CBE','Coimbatore'));
        }
        else if(state == 'KL')
        {       
            options.add(new SelectOption('COA','Coachin'));
            options.add(new SelectOption('MVL','Mavelikara'));
        }
        else
        {
            options.add(new SelectOption('None','--- None ---'));
        }      
        return options;
    }
     public  PageReference layout() {
    
         
        PageReference newPage;

        if (city== 'CHE') {
         newPage = Page.chennai;  
        }
    
    if(city== 'CBE') {
         newPage = Page.Coimbatore;  
        }
     
     if(city== 'COA') {
         newPage = Page.Coachin;  
        }
       
       if(city== 'MVL') {
         newPage = Page.Mavelikara;  
        }
        
        return newPage.setRedirect(true);
     
      }     
}
 
Best Answer chosen by pradeep naredla
Bhanu MaheshBhanu Mahesh
Hi Pradeep,

Refer below link to write the test class for controllers and extensions
https://salesforce.com/docs/developer/pages/Content/pages_controller_error_handling.htm

Try below code to test your extension
@isTest
public class c{
	static TestMethod void sample123Test(){
		Contact con = new Contact(LastName = 'Test Contact');//Add all required fields
		insert con;
		ApexPages.StandardController stdcontroller = new ApexPages.Standardcontroller(con);
		sample123 extensn = new sample123(stdcontroller);
		extensn.getStates();
		//For State not selected
		extensn.state = 'None';
		extensn.getCities();
		
		//For Tamil Nadu State
		extensn.state = 'TN';
		extensn.getCities();
		//For Chennai City
		extensn.city = 'CHE';
		String chennaiPage = extensn.layout().getUrl();
		System.assertEquals('/apex/chennai', chennaiPage);
		//For Coimbatore City
		extensn.city = 'CBE';
		String coimbatorePage = extensn.layout().getUrl();
		System.assertEquals('/apex/Coimbatore', coimbatorePage);
		
		//For Kerala State
		extensn.state = 'KL';
		extensn.getCities();
		//For Coachin City
		extensn.city = 'COA';
		String coachinPage = extensn.layout().getUrl();
		System.assertEquals('/apex/Coachin', coachinPage);
		//For Mavelikara City
		extensn.city = 'MVL';
		String mavelikaraPage = extensn.layout().getUrl();
		System.assertEquals('/apex/Mavelikara', mavelikaraPage);
	}
}

Mark this as "SOLVED" if your query is Answered

Regards,
Bhanu Mahesh