You need to sign in to do that
Don't have an account?

How to write the test class for the below controller ?. please anyone help me out with this as i am new to this.
Vf page:
<apex:page controller="HSMPartnerTermsControllerISV" showHeader="false">
<apex:includeScript value="{!$Resource.PDFObject}"/>
<apex:form >
<html>
<head>
<title>Honeywell Scanning and Mobility</title>
<meta name="description" content="Don't forget to add a 1-2 sentence description here."/>
<meta name="keywords" content="Don't forget to add 20-30 important keywords here."/>
<script src="{!URLFOR($Resource.HSM_Resource, '/js/jquery-1.11.1.min.js')}" type="text/javascript"></script>
<script src="{!URLFOR($Resource.HSM_Resource, '/js/jquery-1.9.1.js')}" type="text/javascript"></script>
<script src="{!URLFOR($Resource.HSM_Resource, '/js/custom.js')}" type="text/javascript"></script>
<link href="{!URLFOR($Resource.HSM_Resource, '/css/style.css')}" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="wrapper">
<header class="overflow">
<div id="logo"><a href="#">
<img border="0" src="{!$Resource.ISV_logo}" width="750px" height="60px" alt="Honeywell Scanning and Mobility" title="Honeywell Scanning and Mobility"/>
</a></div>
<nav>
<ul class="Customul Pad24 FRgt">
<li><a href="#" class="linkR">Contact Us</a></li>
<li>l</li>
<li><a href="#" class="linkR">Help</a></li>
</ul>
</nav>
</header>
<apex:pageBlock title="">
<div >
<!-- <object data="/servlet/servlet.FileDownload?file=015A0000004jP1f#toolbar=1&navpanes=0&scrollbar=1&page=1&view=FitH"
type="application/pdf"
width="900px"
height="500px"/>
<apex:iframe src="/servlet/servlet.FileDownload?file=015A0000005pZW0" scrolling="true" height="500" width="900"/> -->
<p > Please download and review the Independent Software Vendor Program Agreement, then return to this page and sign.</p>
<br/>
<a href="https://honeywellsps.my.salesforce.com/sfc/p/00000000SK3U/a/A0000000HuOn/DWxp_TvODlu2E6.JK7eSV19qSHYtyBo_uzlpAs6qz.0" target="_blank">
<p >Independent Software Vendor Program Agreement</p>
</a>
<br/>
<a href="https://honeywellsps.my.salesforce.com/sfc/p/00000000SK3U/a/2K0000008lBu/IsMIOGxj0DTtpLq1RLrTzikUWZavR4bXvbNZSTKerTM" target="_blank">
<p >APAC ISV Partner agreement (Terms and Conditions)</p>
</a>
</div>
<br/>
<br/>
<div id="firtTableDiv">
<table id="firstTable" class="gridview" >
<tr>
<th></th>
<th></th>
</tr>
<tr>
<th style="background-color:#3B87DE" colspan="4"><font color="white">PARTNER INFORMATION</font></th>
</tr>
<tr>
<td width="40%"><apex:outputText value="First Name"/></td>
<td width="40%"><apex:inputField value="{!cont.FirstName}"/></td>
<td width="50%"><apex:outputText value="Last Name"/></td>
<td width="50%"><apex:inputField required="true" value="{!cont.LastName}"/></td>
</tr>
<tr>
<td width="40%"><apex:outputText value="Email"/></td>
<td width="40%"><apex:inputField required="true" value="{!cont.Email}"/></td>
<td width="50%"><apex:outputText value="Title"/></td>
<td width="50%"><apex:inputField required="true" value="{!cont.title}"/></td>
</tr>
</table>
</div>
<br/>
<br/>
<div align="center">
<apex:commandButton action="{!save}" value="I Accept" />
<apex:commandButton onClick="window.top.close();" value="Decline" />
</div>
</apex:pageBlock>
</div>
</body>
</html>
</apex:form>
</apex:page>
Controller:
public without sharing class HSMPartnerTermsControllerISV{
public Contact cont { get; set; }
public Id accId;
public HSMPartnerTermsControllerISV() {
cont = new Contact();
accId= apexpages.currentpage().getparameters().get('accid');
}
public PageReference save()
{
try
{
if(cont.Email==null){
ApexPages.AddMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please enter register email'));
return null;
}
if(cont.FirstName==null){
ApexPages.AddMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please FirstName'));
return null;
}
if(cont.LastName==null){
ApexPages.AddMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please LastName'));
return null;
}
if(cont.Title==null){
ApexPages.AddMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please enter Title'));
return null;
}
System.debug('Email '+cont.Email +'Account Id' +accId);
List<Contact> checkCont = [SELECT Id, AccountId,Account.Name, Email FROM Contact where email=:cont.Email and AccountId=:accId limit 1];
List<Account> acc =[Select Id, Partner_Type__c,ISV_T_C_Accepted_Date__c,ISV_T_C_Accepted_By__c from account where Id=:accId limit 1];
if(checkCont.isEmpty())
{
cont.AccountId=accId;
insert cont;
if(acc[0].Partner_Type__c =='ISV'){
// ISV T&C Acceptance Section Fields
acc[0].ISV_T_C_Accepted_By__c = cont.Id;
acc[0].ISV_T_C_Accepted_Date__c = System.Today();
acc[0].ISV_T_C_Accepted__c=true;
acc[0].ISV_T_C_Transition_Status__c='Accepted';
update acc;
}
// T&C Acceptance Section Fields
else{
acc[0].T_C_Accepted_By__c = cont.Id;
acc[0].T_C_Accepted_Date__c = System.Today();
acc[0].T_C_Accepted__c=true;
acc[0].T_C_Transition_Status__c='Accepted';
update acc;
}
}
else {
if(acc[0].Partner_Type__c =='ISV'){
acc[0].ISV_T_C_Accepted_By__c = checkCont[0].Id;
acc[0].ISV_T_C_Accepted_Date__c = System.Today();
acc[0].ISV_T_C_Transition_Status__c='Accepted';
acc[0].ISV_T_C_Accepted__c=true;
update acc;
}
else{
// T&C Acceptance Section Fields
acc[0].T_C_Accepted_By__c = checkCont[0].Id;
acc[0].T_C_Accepted_Date__c = System.Today();
acc[0].T_C_Accepted__c=true;
acc[0].T_C_Transition_Status__c='Accepted';
update acc;
}
}
PageReference newocp = new PageReference('/HSMPartnerThank');
newocp.setRedirect(true);
return newocp;
} catch (DMLException e) {
ApexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR, 'Error.'));
return null;
}
return null;
}
public PageReference cancel() {
try {
System.debug('Email '+cont.Email +'Account Id' +accId);
List<Contact> checkCont = [SELECT Id, AccountId,Account.Name, Email FROM Contact where email=:cont.Email and AccountId=:accId limit 1];
List<Account> acc =[Select Id,Partner_Type__c,ISV_T_C_Accepted_Date__c,ISV_T_C_Accepted_By__c from account where Id=:accId limit 1];
if(checkCont.isEmpty())
{
cont.AccountId=accId;
insert cont;
if(acc[0].Partner_Type__c =='ISV'){
//ISV T&C Acceptance Section Fields
acc[0].ISV_T_C_Accepted_By__c = cont.Id;
acc[0].ISV_T_C_Accepted_Date__c = System.Today();
acc[0].ISV_T_C_Transition_Status__c='Declined';
acc[0].ISV_T_C_Accepted__c=false;
update acc;
}
else{
// T&C Acceptance Section Fields
acc[0].T_C_Accepted_By__c = cont.Id;
acc[0].T_C_Accepted_Date__c = System.Today();
acc[0].T_C_Accepted__c=false;
acc[0].T_C_Transition_Status__c='Declined';
update acc;
}
} else{
if(acc[0].Partner_Type__c =='ISV'){
//ISV T&C Acceptance Section Fields
acc[0].ISV_T_C_Accepted_By__c = checkCont[0].Id;
acc[0].ISV_T_C_Accepted_Date__c = System.Today();
acc[0].ISV_T_C_Transition_Status__c='Declined';
acc[0].ISV_T_C_Accepted__c=false;
update acc;
}
else{
// T&C Acceptance Section Fields
acc[0].T_C_Accepted_By__c = checkCont[0].Id;
acc[0].T_C_Accepted_Date__c = System.Today();
acc[0].T_C_Accepted__c=false;
acc[0].T_C_Transition_Status__c='Declined';
update acc;
}
}
PageReference newocp = new PageReference('/HSMPartnerThank');
newocp.setRedirect(true);
return newocp;
} catch (DMLException e) {
ApexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR, 'Error.'));
return null;
}
return null;
}
}
<apex:page controller="HSMPartnerTermsControllerISV" showHeader="false">
<apex:includeScript value="{!$Resource.PDFObject}"/>
<apex:form >
<html>
<head>
<title>Honeywell Scanning and Mobility</title>
<meta name="description" content="Don't forget to add a 1-2 sentence description here."/>
<meta name="keywords" content="Don't forget to add 20-30 important keywords here."/>
<script src="{!URLFOR($Resource.HSM_Resource, '/js/jquery-1.11.1.min.js')}" type="text/javascript"></script>
<script src="{!URLFOR($Resource.HSM_Resource, '/js/jquery-1.9.1.js')}" type="text/javascript"></script>
<script src="{!URLFOR($Resource.HSM_Resource, '/js/custom.js')}" type="text/javascript"></script>
<link href="{!URLFOR($Resource.HSM_Resource, '/css/style.css')}" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="wrapper">
<header class="overflow">
<div id="logo"><a href="#">
<img border="0" src="{!$Resource.ISV_logo}" width="750px" height="60px" alt="Honeywell Scanning and Mobility" title="Honeywell Scanning and Mobility"/>
</a></div>
<nav>
<ul class="Customul Pad24 FRgt">
<li><a href="#" class="linkR">Contact Us</a></li>
<li>l</li>
<li><a href="#" class="linkR">Help</a></li>
</ul>
</nav>
</header>
<apex:pageBlock title="">
<div >
<!-- <object data="/servlet/servlet.FileDownload?file=015A0000004jP1f#toolbar=1&navpanes=0&scrollbar=1&page=1&view=FitH"
type="application/pdf"
width="900px"
height="500px"/>
<apex:iframe src="/servlet/servlet.FileDownload?file=015A0000005pZW0" scrolling="true" height="500" width="900"/> -->
<p > Please download and review the Independent Software Vendor Program Agreement, then return to this page and sign.</p>
<br/>
<a href="https://honeywellsps.my.salesforce.com/sfc/p/00000000SK3U/a/A0000000HuOn/DWxp_TvODlu2E6.JK7eSV19qSHYtyBo_uzlpAs6qz.0" target="_blank">
<p >Independent Software Vendor Program Agreement</p>
</a>
<br/>
<a href="https://honeywellsps.my.salesforce.com/sfc/p/00000000SK3U/a/2K0000008lBu/IsMIOGxj0DTtpLq1RLrTzikUWZavR4bXvbNZSTKerTM" target="_blank">
<p >APAC ISV Partner agreement (Terms and Conditions)</p>
</a>
</div>
<br/>
<br/>
<div id="firtTableDiv">
<table id="firstTable" class="gridview" >
<tr>
<th></th>
<th></th>
</tr>
<tr>
<th style="background-color:#3B87DE" colspan="4"><font color="white">PARTNER INFORMATION</font></th>
</tr>
<tr>
<td width="40%"><apex:outputText value="First Name"/></td>
<td width="40%"><apex:inputField value="{!cont.FirstName}"/></td>
<td width="50%"><apex:outputText value="Last Name"/></td>
<td width="50%"><apex:inputField required="true" value="{!cont.LastName}"/></td>
</tr>
<tr>
<td width="40%"><apex:outputText value="Email"/></td>
<td width="40%"><apex:inputField required="true" value="{!cont.Email}"/></td>
<td width="50%"><apex:outputText value="Title"/></td>
<td width="50%"><apex:inputField required="true" value="{!cont.title}"/></td>
</tr>
</table>
</div>
<br/>
<br/>
<div align="center">
<apex:commandButton action="{!save}" value="I Accept" />
<apex:commandButton onClick="window.top.close();" value="Decline" />
</div>
</apex:pageBlock>
</div>
</body>
</html>
</apex:form>
</apex:page>
Controller:
public without sharing class HSMPartnerTermsControllerISV{
public Contact cont { get; set; }
public Id accId;
public HSMPartnerTermsControllerISV() {
cont = new Contact();
accId= apexpages.currentpage().getparameters().get('accid');
}
public PageReference save()
{
try
{
if(cont.Email==null){
ApexPages.AddMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please enter register email'));
return null;
}
if(cont.FirstName==null){
ApexPages.AddMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please FirstName'));
return null;
}
if(cont.LastName==null){
ApexPages.AddMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please LastName'));
return null;
}
if(cont.Title==null){
ApexPages.AddMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please enter Title'));
return null;
}
System.debug('Email '+cont.Email +'Account Id' +accId);
List<Contact> checkCont = [SELECT Id, AccountId,Account.Name, Email FROM Contact where email=:cont.Email and AccountId=:accId limit 1];
List<Account> acc =[Select Id, Partner_Type__c,ISV_T_C_Accepted_Date__c,ISV_T_C_Accepted_By__c from account where Id=:accId limit 1];
if(checkCont.isEmpty())
{
cont.AccountId=accId;
insert cont;
if(acc[0].Partner_Type__c =='ISV'){
// ISV T&C Acceptance Section Fields
acc[0].ISV_T_C_Accepted_By__c = cont.Id;
acc[0].ISV_T_C_Accepted_Date__c = System.Today();
acc[0].ISV_T_C_Accepted__c=true;
acc[0].ISV_T_C_Transition_Status__c='Accepted';
update acc;
}
// T&C Acceptance Section Fields
else{
acc[0].T_C_Accepted_By__c = cont.Id;
acc[0].T_C_Accepted_Date__c = System.Today();
acc[0].T_C_Accepted__c=true;
acc[0].T_C_Transition_Status__c='Accepted';
update acc;
}
}
else {
if(acc[0].Partner_Type__c =='ISV'){
acc[0].ISV_T_C_Accepted_By__c = checkCont[0].Id;
acc[0].ISV_T_C_Accepted_Date__c = System.Today();
acc[0].ISV_T_C_Transition_Status__c='Accepted';
acc[0].ISV_T_C_Accepted__c=true;
update acc;
}
else{
// T&C Acceptance Section Fields
acc[0].T_C_Accepted_By__c = checkCont[0].Id;
acc[0].T_C_Accepted_Date__c = System.Today();
acc[0].T_C_Accepted__c=true;
acc[0].T_C_Transition_Status__c='Accepted';
update acc;
}
}
PageReference newocp = new PageReference('/HSMPartnerThank');
newocp.setRedirect(true);
return newocp;
} catch (DMLException e) {
ApexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR, 'Error.'));
return null;
}
return null;
}
public PageReference cancel() {
try {
System.debug('Email '+cont.Email +'Account Id' +accId);
List<Contact> checkCont = [SELECT Id, AccountId,Account.Name, Email FROM Contact where email=:cont.Email and AccountId=:accId limit 1];
List<Account> acc =[Select Id,Partner_Type__c,ISV_T_C_Accepted_Date__c,ISV_T_C_Accepted_By__c from account where Id=:accId limit 1];
if(checkCont.isEmpty())
{
cont.AccountId=accId;
insert cont;
if(acc[0].Partner_Type__c =='ISV'){
//ISV T&C Acceptance Section Fields
acc[0].ISV_T_C_Accepted_By__c = cont.Id;
acc[0].ISV_T_C_Accepted_Date__c = System.Today();
acc[0].ISV_T_C_Transition_Status__c='Declined';
acc[0].ISV_T_C_Accepted__c=false;
update acc;
}
else{
// T&C Acceptance Section Fields
acc[0].T_C_Accepted_By__c = cont.Id;
acc[0].T_C_Accepted_Date__c = System.Today();
acc[0].T_C_Accepted__c=false;
acc[0].T_C_Transition_Status__c='Declined';
update acc;
}
} else{
if(acc[0].Partner_Type__c =='ISV'){
//ISV T&C Acceptance Section Fields
acc[0].ISV_T_C_Accepted_By__c = checkCont[0].Id;
acc[0].ISV_T_C_Accepted_Date__c = System.Today();
acc[0].ISV_T_C_Transition_Status__c='Declined';
acc[0].ISV_T_C_Accepted__c=false;
update acc;
}
else{
// T&C Acceptance Section Fields
acc[0].T_C_Accepted_By__c = checkCont[0].Id;
acc[0].T_C_Accepted_Date__c = System.Today();
acc[0].T_C_Accepted__c=false;
acc[0].T_C_Transition_Status__c='Declined';
update acc;
}
}
PageReference newocp = new PageReference('/HSMPartnerThank');
newocp.setRedirect(true);
return newocp;
} catch (DMLException e) {
ApexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR, 'Error.'));
return null;
}
return null;
}
}
@IsTest
Public Class HSMPartnerTermsControllerISV_Test
{
public static TestMethod void HSMPartnerTermsControllerISV_TM()
{
Test.startTest();
if(Test.isRunningTest()) {
Account Acc = new Account();
Acc.Name = 'TEST_ACC';
Acc.Global_Region_of_Account__c = 'EMEA';
Acc.BillingStreet = '3 Lloyd\'s Avenue';
Acc.BillingCity = 'London';
Acc.BillingState = 'UK';
Acc.BillingPostalCode = 'EC3N 3DS';
Acc.BillingCountry = 'UK';
Acc.CurrencyIsoCode = 'USD';
Acc.Partner_Type__c='ISV';
Acc.Type='Partner - Silver';
insert Acc;
Contact con = new Contact();
con.Title = 'Mr.';
con.FirstName = 'TestName';
con.LastName = 'TestLastName';
con.accountId = Acc.Id;
con.phone ='0123456789';
con.email='test@test.com';
Con.Sub_Region__c = 'Undefined';
Con.Last_SFDC_Campaign_ID__c = '701A0000000MkPrIAK';
insert con;
acc.ISV_T_C_Accepted_By__c = con.Id;
acc.ISV_T_C_Accepted_Date__c = System.Today();
acc.ISV_T_C_Accepted__c=true;
acc.ISV_T_C_Transition_Status__c='Accepted';
Update Acc;
//Set Page
PageReference pg = new PageReference('/HSMPartnerThank?id=066A0000001yEWp'); // '/apex/HSMPartnerThank?id=ABCDEFGHIJKL'
Test.setCurrentPage(pg);
ApexPages.CurrentPage().getparameters().put('accid', acc.id);
HSMPartnerTermsControllerISV partApp = new HSMPartnerTermsControllerISV();
partApp.Save();
PartApp.cancel();
ApexPages.Message[] msgs=ApexPages.getMessages();
Boolean found=false;
for (ApexPages.Message msg : msgs) {
if (ApexPages.Severity.ERROR == msg.getSeverity()) {
//if(message.getSeverity() == ApexPages.Severity.ERROR_MSG) {
found=true;
}
}
System.assert(found);
}
Test.stopTest();
}
// Method 2
public static TestMethod void HSMPartnerTermsControllerISV_TM2()
{
Account Acc = new Account();
Acc.Name = 'TEST_ACC';
Acc.Global_Region_of_Account__c = 'EMEA';
Acc.BillingStreet = '3 Lloyd\'s Avenue';
Acc.BillingCity = 'London';
Acc.BillingState = 'UK';
Acc.BillingPostalCode = 'EC3N 3DS';
Acc.BillingCountry = 'UK';
Acc.CurrencyIsoCode = 'USD';
Acc.Partner_Type__c='ISV';
Acc.Type='Partner - Silver';
insert Acc;
Contact con = new Contact();
con.Title = 'Mr.';
con.FirstName = 'TestNamee';
con.LastName = 'TestLastNamee';
con.accountId = Acc.Id;
con.phone ='0123456789';
con.email='test@test.com';
Con.Sub_Region__c = 'Undefined';
Con.Last_SFDC_Campaign_ID__c = '701A0000000MkPrIAK';
insert con;
acc.ISV_T_C_Accepted_By__c = con.Id;
acc.ISV_T_C_Accepted_Date__c = System.Today();
acc.ISV_T_C_Accepted__c= false;
acc.ISV_T_C_Transition_Status__c='Denied';
Update Acc;
//Set Page
PageReference pg = new PageReference('/apex/HSMPartnerThank?id=ABCDEFGHIJKL');
Test.setCurrentPage(pg);
ApexPages.CurrentPage().getparameters().put('acc.id',acc.id);
HSMPartnerTermsControllerISV partApp = new HSMPartnerTermsControllerISV();
partApp.Save();
PartApp.cancel();
ApexPages.Message[] msgs=ApexPages.getMessages();
Boolean found=false;
for (ApexPages.Message msg : msgs) {
if (ApexPages.Severity.ERROR == msg.getSeverity()) {
//if(message.getSeverity() == ApexPages.Severity.ERROR_MSG) {
found=true;
}
}
}
public static TestMethod void HSMPartnerTermsControllerISV_TM3()
{
if(Test.isRunningTest()) {
Account Acc = new Account();
Acc.Name = 'TEST_ACC';
Acc.Global_Region_of_Account__c = 'EMEA';
Acc.BillingStreet = '3 Lloyd\'s Avenue';
Acc.BillingCity = 'London';
Acc.BillingState = 'UK';
Acc.BillingPostalCode = 'EC3N 3DS';
Acc.BillingCountry = 'UK';
Acc.CurrencyIsoCode = 'USD';
Acc.Partner_Type__c='ISV';
Acc.Type='Partner - Silver';
insert Acc;
Contact con = new Contact();
con.Title = '';
con.FirstName = '';
con.LastName = 'TestLastNamee';
con.accountId = Acc.Id;
con.phone ='0123456789';
con.email='test@test.com';
Con.Sub_Region__c = 'Undefined';
Con.Last_SFDC_Campaign_ID__c = '701A0000000MkPrIAK';
insert con;
acc.ISV_T_C_Accepted_By__c = con.Id;
acc.ISV_T_C_Accepted_Date__c = System.Today();
acc.ISV_T_C_Accepted__c=true;
acc.ISV_T_C_Transition_Status__c='Accepted';
Update Acc;
//Set Page
PageReference pg = new PageReference('/apex/HSMPartnerThank?id=ABCDEFGHIJKL');
Test.setCurrentPage(pg);
ApexPages.CurrentPage().getparameters().put('accid', acc.id);
HSMPartnerTermsControllerISV partApp = new HSMPartnerTermsControllerISV();
partApp.Save();
PartApp.cancel();
ApexPages.Message[] msgs=ApexPages.getMessages();
Boolean found=false;
for (ApexPages.Message msg : msgs) {
if (ApexPages.Severity.ERROR == msg.getSeverity()) {
//if(message.getSeverity() == ApexPages.Severity.ERROR_MSG) {
found=true;
}
}
}
}
}