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