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
Balu_SFDCBalu_SFDC 

How can we write the Test class for the apex class and VF pages

hi,

i am struggling to write the apex class for the follwing class and vf page..

 

plz can any body do this.........

my apex class is

 

public class search {

public List<student__c> students{get;set;}
public List<student__c> getstudents(){
return students;
}
public student__c getstudent(){
Id id=system.currentpagereference().getparameters().get('id');
return id == null ? new student__c() : [SELECT Id, Name
FROM Student__c
WHERE Id = :id];
}
public String studentname { get; set; }

public String studentId { get; set; }

public PageReference search() {


if(studentId.length()>0)
{
string stdid='select id, name,Student_Name__c,Email_ID__c,Phone_Number__c from student__C where name=:studentId';
students=Database.Query(stdid);
if(students.size()==0)
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,'Student Id Not Found'));
return null;
}
if(studentname.length()>0)
{
string stdname='select id,name,Student_Name__c,Email_ID__c,Phone_Number__c from student__C where student_name__C LIKE \'' + Studentname+ '%\'';
students=Database.Query(stdname);
if(students.size()==0)
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,'Student Name Not Found'));
return null;
}
if((studentId.length()>0)&&(studentname.length()>0))
{
string std='select id,name,Student_Name__c from student__C,Email_ID__c,Phone_Number__c where name=:studentId';
students=Database.Query(std);
return null;
}
else
{
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,'Please Enter Any Value'));
return null;
}
}

}

 

VF page

 

<apex:page controller="search" sidebar="false" tabStyle="search_student__tab">

<apex:sectionHeader title="Search Students"/>
<apex:form >
<script type='text/javascript'>
function noenter(ev) {
if (window.event && window.event.keyCode == 13 || ev.which == 13) {
doSearchAF();
return false;
} else {
return true;
}
}
</script>

<apex:pageBlock title="Search Students Here" onkeypress="return noenter(event)">
<apex:image url="https://ap1.salesforce.com/resource/1350637855000/search" width="90px" height="75px"/>
<center>
<apex:pageblockSection title="Search By Student Id" >
<center>
<apex:inputtext value="{!studentId}" onkeypress="return noenter(event)"/>
</center>
</apex:pageblockSection>
<apex:pageblocksection title="Search by Name">
<center><apex:inputtext value="{!studentname}" onkeypress="return noenter(event)"/>
</center>
</apex:pageblocksection>
<apex:commandButton value="Search" action="{!search}" reRender="pgb,pmsgs"/>
</center>
<apex:pagemessages id="pmsgs"/>
<apex:pageblocktable value="{!students}" var="s" id="pgb">
<apex:column >
<apex:commandLink reRender="detail">{!s.name}
<apex:param name="id" value="{!s.id}"/>
</apex:commandLink>

</apex:column>
<apex:column value="{!s.First_Name__c}"/>
<apex:column value="{!s.Email_ID__c}"/>
<apex:column value="{!s.Phone_Number__c}"/>
</apex:pageblocktable>
<apex:actionFunction name="doSearchAF" action="{!Search}" />
</apex:pageBlock>
</apex:form>
<apex:outputpanel id="detail">
<apex:detail subject="{!student}" title="false" relatedList="false"/>
</apex:outputpanel>

</apex:page>

 

 

Thanks in advance........

 

Regards.....

Balu

 

 

vishal@forcevishal@force

Try this :

 

@isTest

 

private class testSearch

{

     private static void method1()

     {

          Student__c s = new Student__c(Student_Name__c = 'test', Email_ID__c = 'test@test.com',Phone_Number__c = '0000000'); // specify other required fields too, if any

          insert s;

 

         ApexPages.currentPage().getParameters().put('id', s.Id);

 

         search s = new search();

         s.studentId = 'test';

         s.studentName = 'test';

         s.search();

     }

}