You need to sign in to do that
Don't have an account?
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
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();
}
}