-
ChatterFeed
-
0Best Answers
-
0Likes Received
-
0Likes Given
-
3Questions
-
2Replies
test class static testMethod void testFirst and static testMethod void testNext I am stuck can anyone help be on these methods.below my controller and test class
@isTest public with sharing class CP_AccountTabExtTest{ /*** Instance Variables ***/ /*** Static Variables (Static) ***/ private static User userCPU; private static User userCPM; private static List<User> users; private static Map<Integer, Account> mapParentAccounts; private static Account parentAccount; private static Map<Integer, Account> mapChildAccounts; private static Map<Integer, Contact> mapContacts; /*** Constant Variables (Static Final) ***/ /*** Public Instance Methods ***/ /*** Private Instance Methods ***/ /*** Static Methods ***/ static void GenerateData() { Profile objProfile=[Select Id from Profile where Name=: CP_TestDataFactory.profileAdmin]; UserRole objRole=[select id from UserRole where PortalType='None' limit 1]; User objUser = new User(alias = 'TestUser', email='CP_TestDFUser@PhilipsOC.test', emailencodingkey='UTF-8', lastname='Testing', languagelocalekey='en_US', localesidkey='en_US', UserRoleId=objRole.Id, profileid=objProfile.ID, country='United States', timezonesidkey='America/Los_Angeles', username='CP_TestDFUser@PhilipsOC.test', isActive = true); User thisUser = [ select Id from User where Id = :UserInfo.getUserId()]; System.runAs(thisUser) { insert objUser; } parentAccount = CP_TestDataFactory.GenerateParentAccount(objUser.Id); insert parentAccount; mapChildAccounts = CP_TestDataFactory.GenerateChildAccounts(250, parentAccount.Id); insert mapChildAccounts.values(); mapContacts = CP_TestDataFactory.GenerateContacts(20, parentAccount.Id); insert mapContacts.values(); Profile profileCPU = [select id from profile where name=: CP_TestDataFactory.profileCPU ]; userCPU = new User(alias = 'TestCPU', email='CP_TestDFUserCPU@PhilipsOC.test', emailencodingkey='UTF-8', lastname='Testing', languagelocalekey='en_US', localesidkey='en_US', profileid=profileCPU.ID, contactId = mapContacts.get(1).Id, country='United States', timezonesidkey='America/Los_Angeles', username='CP_TestDFUserCPU@PhilipsOC.test', isActive = true); insert userCPU; Profile profileCPM = [select id from profile where name=: CP_TestDataFactory.profileCPM ]; userCPM = new User(alias = 'TestCPM', email='CP_TestDFUserCPM@PhilipsOC.test', emailencodingkey='UTF-8', lastname='Testing', languagelocalekey='en_US', localesidkey='en_US', profileid=profileCPM.ID, contactId = mapContacts.get(2).Id, country='United States', timezonesidkey='America/Los_Angeles', username='CP_TestDFUserCPM@PhilipsOC.test', isActive = true); insert userCPM; users = new List<User>(); users.add(userCPU); users.add(userCPM); } static testMethod void testAll() { GenerateData(); system.runAs(userCPU){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); String q = 'SELECT Name FROM ACCOUNT LIMIT 1'; ApexPages.StandardSetController ACC = new ApexPages.StandardSetController(Database.getQueryLocator(q)); List<SelectOption> ListViews = ACC.getListViewOptions(); System.assertEquals(ListViews , acExtController.getAccountExistingViews()); List<Account> accounts = [Select Id, Name, AccountNumber, ShippingStreet, ShippingCity, ShippingState, ShippingCountry FROM Account ORDER BY Name ASC LIMIT 10000]; System.assertEquals(accounts , acExtController.getAccounts()); PageReference expectedPage = Page.CP_AccountDetail; String nextPage = acExtController.AccountDetailPage; System.assertEquals(expectedPage.getUrl(), nextPage); acExtController.resetFilter(); acExtController.prev(); acExtController.next(); acExtController.lastPage(); acExtController.firstPage(); } system.runAs(userCPM){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); String q = 'SELECT Name FROM ACCOUNT LIMIT 1'; ApexPages.StandardSetController ACC = new ApexPages.StandardSetController(Database.getQueryLocator(q)); List<SelectOption> ListViews = ACC.getListViewOptions(); System.assertEquals(ListViews , acExtController.getAccountExistingViews()); List<Account> accounts = [Select Id, Name, AccountNumber, ShippingStreet, ShippingCity, ShippingState, ShippingCountry FROM Account ORDER BY Name ASC LIMIT 10000]; System.assertEquals(accounts , acExtController.getAccounts()); PageReference expectedPage = Page.CP_AccountDetail; String nextPage = acExtController.AccountDetailPage; System.assertEquals(expectedPage.getUrl(), nextPage); acExtController.resetFilter(); acExtController.prev(); acExtController.next(); acExtController.lastPage(); acExtController.firstPage(); } } static testMethod void testNext()}{ GenerateData(); system.runAs(userCPU){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } system.runAs(userCPM){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } } static testMethod void testPrev(){ GenerateData(); system.runAs(userCPU){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } system.runAs(userCPM){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } } static testMethod void testLast(){ GenerateData(); system.runAs(userCPU){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } system.runAs(userCPM){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } } static testMethod void testFirst(){ GenerateData(); system.runAs(userCPU){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } system.runAs(userCPM){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } } } public with sharing class CP_AccountTabExt { /*** Instance Variables ***/ public String AccountFilterId { get; set;} private String query = 'Select Id, Name, AccountNumber, ShippingStreet, ShippingCity, ShippingState, ShippingCountry FROM Account ORDER BY Name ASC LIMIT 10000'; private Integer pageSize = 50; /*** Static Variables (Static) ***/ /*** Constant Variables (Static Final) ***/ /*** Public Instance Methods ***/ public CP_AccountTabExt(){} public String AccountDetailPage { get{ if(AccountDetailPage == null){ PageReference accountDetail = Page.CP_AccountDetail; return accountDetail.getURL(); } return ''; } Set; } public ApexPages.StandardSetController AccountSetController { get{ if(AccountSetController == null){ AccountSetController = new ApexPages.StandardSetController(Database.getQueryLocator(query)); AccountSetController.setPageSize(pageSize); // We have to set FilterId after Pagesize, else it will not work if(AccountFilterId != null) { AccountSetController.setFilterId(AccountFilterId); } } return AccountSetController; }set; } public CP_AccountTabExt(ApexPages.StandardSetController ssc) { } //Navigate to first Page public void firstPage() { AccountSetController.first(); } //Navigate to last Page public void lastPage() { AccountSetController.last(); } //Navigate to Next page public void next() { if(AccountSetController.getHasNext()) { AccountSetController.next(); } } //Navigate to Prev Page public void prev() { if(AccountSetController.getHasPrevious()) { AccountSetController.previous(); } } public List<Account> getAccounts() { return (List<Account>)AccountSetController.getRecords(); } //Get all available list view for Account public SelectOption[] getAccountExistingViews(){ return AccountSetController.getListViewOptions(); } /** * Reset List View */ public PageReference resetFilter() { AccountSetController = null; AccountSetController.setPageNumber(1); return null; } }
This will be a big help as I am new to salesforce test class.
- subrat panda
- October 22, 2014
- Like
- 0
test class to complete for all the methods
Controller class Public without sharing class CP_AccountTabController { /*** Instance Variables ***/ public List<Account> accounts {get;set;} public List<Integer> paginationList {get;set;} public Double lastPage {get;set;} public Integer pageNum {get;set;} public Integer totalNoOfAccounts {get;set;} public Integer fromAccountCount {get;set;} public Integer toAccountCount {get;set;} public String selectedSortByFilter {get;set;} public String selectedView {get;set;} public Final Integer PAGE_SIZE = 50; private User myUser; private Id myAccountId; /*** Public Instance Methods ***/ public CP_AccountTabController(){ myUser = [SELECT Id, Contact.AccountId from User where Id =: UserInfo.getUserId()]; myAccountId = myUser.Contact.AccountId; pageNum = ApexPages.currentPage().getParameters().get('pnum')!=null?Integer.valueOf(ApexPages.currentPage().getParameters().get('pnum')):1; selectedView = ApexPages.currentPage().getParameters().get('selectedView')!=null?ApexPages.currentPage().getParameters().get('selectedView'):'Accounts'; selectedSortByFilter = ApexPages.currentPage().getParameters().get('selectedSortByFilter')!=null?ApexPages.currentPage().getParameters().get('selectedSortByFilter'):' AccountNumber desc '; accounts = accountList(); } /*** Public Instance Methods ***/ Public PageReference sortCaseList () { pageNum = ApexPages.currentPage().getParameters().get('pnum')!=null?Integer.valueOf(ApexPages.currentPage().getParameters().get('pnum')):1; selectedSortByFilter = ApexPages.currentPage().getParameters().get('selectedSortByFilter')!=null?ApexPages.currentPage().getParameters().get('selectedSortByFilter'):' AccountNumber desc '; accounts = accountList(); return null; } /*** Public Instance Methods ***/ public pageReference resetFilter(){ pageNum = 1; accounts = accountList(); return null; } /*** Public Instance Methods ***/ public List<SelectOption> getView() { List<SelectOption> options = new List<SelectOption>(); options.add(new SelectOption('Accounts','Accounts')); options.add(new SelectOption('Bad_Credit_Accounts','Bad Credit Accounts')); options.add(new SelectOption('By_TimeZone','By TimeZone')); options.add(new SelectOption('New_This_Week','New This Week')); options.add(new SelectOption('Recently_Viewed_Accounts','Recently Viewed Accounts')); return options; } /*** Public Instance Methods ***/ public List<Account> accountList() { List<account> accList = new List<Account>(); if(myAccountId == null){ return accList; } String accountQuery = ''; string strIntialQuery = ''; if(selectedView == 'Accounts'){ strIntialQuery = 'SELECT Id, Customer_Portal_Parent_Account__c FROM Account WHERE Customer_Portal_Parent_Account__c =: myAccountId ORDER BY ' + selectedSortByFilter + ' limit 999950'; } else { String filterStr = viewFilter(selectedView); strIntialQuery = 'select id from Account WHERE' + ' Customer_Portal_Parent_Account__c =: myAccountId AND' +filterStr+' ORDER BY ' + selectedSortByFilter + ' limit 999950'; } transient List<Account> accountList = database.query(strIntialQuery ); //Pick all Accounts. Maximum limit is 1 million. We pick only ids. So query will be fast. totalNoOfAccounts = accountList.size(); if(totalNoOfAccounts < 1){ return accList; } set<String> accountSetIds = new set<string>(); if(pageNum == 1 && totalNoOfAccounts > PAGE_SIZE) {//For first page For(integer i= 0; i < PAGE_SIZE; i++){ accountSetIds.add(accountList[i].id); } }else if(totalNoOfAccounts < PAGE_SIZE && pageNum == 1){ For(integer i= 0; i < totalNoOfAccounts; i++){ accountSetIds.add(accountList[i].id); } } else if(pageNum*PAGE_SIZE < totalNoOfAccounts) { //If the records that will be used in for loop are less than total records For(integer i= (((pageNum-1)*PAGE_SIZE)); i< pageNum*PAGE_SIZE ; i++){ accountSetIds.add(accountList[i].id); } } else {//This works for Last set of data For(integer i= (pageNum-1)*PAGE_SIZE; i< totalNoOfAccounts; i++){ accountSetIds.add(accountList[i].id); } } List<String> accountListIds = New List<String>(); if(accountSetIds.size() > 0){ accountListIds.addAll(accountSetIds); } // Generate Pagination lastpage = Integer.valueOf(Math.ceil(Decimal.ValueOf(totalNoOfAccounts)/Decimal.ValueOf(PAGE_SIZE))); paginationList = getPaginationList(pageNum, totalNoOfAccounts , PAGE_SIZE); if(lastpage != 0){ toAccountCount = Pagenum * PAGE_SIZE; fromAccountCount = toAccountCount-(PAGE_SIZE - 1); } if(pageNum == 1 || pageNum < 1){ if(lastpage != 0){ fromAccountCount = 1; toAccountCount = PAGE_SIZE; pageNum = 1; } else{ fromAccountCount = 0; toAccountCount = 0; pageNum = 1; } } if(pageNum == Integer.ValueOf(lastpage) || (pageNum > Integer.ValueOf(lastpage) && lastpage != 0)){ fromAccountCount = (Integer.ValueOf(lastpage) - 1) * PAGE_SIZE + 1; toAccountCount = totalNoOfAccounts; pageNum = Integer.ValueOf(lastpage); } CP_List_View_CS__c objListViewCS = CP_List_View_CS__c.getValues('Account'); String strFields = objListViewCS.Fields__c; String accountIdString = ''; if(accountListIds.size() > 0){ accountIdString = quoteKeySet(accountListIds); } if(selectedView == 'Accounts'){ accountQuery = 'select '+ strFields +' from Account WHERE Customer_Portal_Parent_Account__c =: myAccountId '; if (accountIdString != '') { accountQuery += 'AND Id in '+accountIdString; } accountQuery += ' ORDER BY '+selectedSortByFilter; } else { String filterStr = viewFilter(selectedView); accountQuery = 'select '+ strFields +' from Account where' + ' Customer_Portal_Parent_Account__c =: myAccountId AND' + filterStr; if (accountIdString != '') { accountQuery += 'AND Id in '+accountIdString; } accountQuery += ' ORDER BY '+selectedSortByFilter; } accList = Database.Query(accountQuery); return accList; } Public string viewFilter(String filterValue){ String filterStr = ''; if(filterValue == 'Bad_Credit_Accounts'){ filterStr = ' Credit_Status__c !=null and Sales_Block__c !=null '; }else if(filterValue == 'By_TimeZone'){ filterStr = ' Time_Zone__c != null '; }else if(filterValue == 'New_This_Week'){ filterStr = ' createddate = THIS_WEEK ' ; }else if(filterValue == 'Recently_Viewed_Accounts'){ filterStr = ' LastViewedDate != null '; } return filterStr ; } public String quoteKeySet(List<String> mapKeySet) { String newSetStr = '' ; for(String str : mapKeySet) newSetStr += '\'' + str + '\','; newSetStr = newSetStr.lastIndexOf(',') > 0 ? '(' + newSetStr.substring(0,newSetStr.lastIndexOf(',')) + ')' : newSetStr ; return newSetStr; } Public List<Integer> getPaginationList (Integer curPageNo, Integer totalResults, Integer pagesize) { List<Integer> paginationList = new List<Integer>(); Double totalNumOfPages = math.ceil(Double.valueof(totalResults)/Double.valueof(pagesize)); Integer index; If(curPageNo <= 4 ){ for (index=curPageNo-3;index<curPageNo;index+=1) {//Enter Here for first 3 pages if(index<=0) { continue; } paginationList.add(index); } paginationList.add(curPageNo); Integer jindex; for (jindex=curPageNo+1;jindex<=7;jindex+=1) { If(jindex >= totalNumOfPages+1){ break; } paginationList.add(jindex); } }else If(curPageNo >= 4 && curPageNo < totalNumOfPages-3){//Enter here for Pages In Between for (index=curPageNo-3;index<curPageNo;index+=1) { if(index<=0) { continue; } paginationList.add(index); } paginationList.add(curPageNo); Integer jindex; for (jindex=curPageNo+1;jindex<=curPageNo+3;jindex+=1) { if(jindex > totalResults/pageSize){ break; } paginationList.add(jindex); } } else {//Enter Here for last 3 pages Integer tempNum;//Number of digits before last three digits to keep the list count(7) for last three digits if(curPageNo == totalNumOfPages-3){tempNum = 3;} If(curPageNo == totalNumOfPages-2){tempNum = 4;} If(curPageNo == totalNumOfPages-1){tempNum = 5;} If(curPageNo == totalNumOfPages) {tempNum = 6;} for (index=curPageNo-tempNum;index<curPageNo;index+=1) { if(index<=0) { continue; } paginationList.add(index); } paginationList.add(curPageNo); Integer jindex; for (jindex=curPageNo+1;jindex<=totalNumOfPages+2;jindex+=1) { if(jindex > totalNumOfPages){ break; } paginationList.add(jindex); } } return paginationList; } } Class for creating test data @isTest public with sharing class CP_TestDataFactory { /*** Instance Variables ***/ /*** Static Variables (Static) ***/ /*** Constant Variables (Static Final) ***/ public final static String profileCPM = 'CP_CustomerPortalManager_PR'; public final static String profileCPU = 'CP_CustomerPortalUser_PR'; public final static String profileAdmin = 'System Administrator'; public final static String typeCustomerPortalParent = 'Customer Portal Parent'; public final static String roleCustomerPortalUser = 'Customer Portal User'; /*** Public Instance Methods ***/ /*** Private Instance Methods ***/ /*** Static Methods ***/ //Generates a list of ParentAccounts public static Map<Integer, Account> GenerateParentAccounts(Integer count, Id ownerId){ Map<Integer, Account> result = new Map<Integer, Account>(); for(Integer i = 0; i < count; i++) { result.put(i, new Account(Name = 'CP_TestDFAccount_' + i, Type = typeCustomerPortalParent, ownerId = ownerId, Credit_status__c = 'Good', ShippingStreet = 'TestStreet', ShippingCity = 'Chicago', ShippingState = 'IL', ShippingPostalCode = '60606', ShippingCountry = 'US', sales_org__c = 'CA93') ); } return result; } //Generates a single ParentAccount public static Account GenerateParentAccount(Id ownerId){ Account result = new Account(Name = 'CP_TestDFAccount_', Type = typeCustomerPortalParent, ownerId = ownerId, Credit_status__c = 'Good', ShippingStreet = 'TestStreet', ShippingCity = 'Chicago', ShippingState = 'IL', ShippingPostalCode = '60606', ShippingCountry = 'US', sales_org__c = 'CA93'); return result; } //Generates a list of ChildAccounts public static Map<Integer, Account> GenerateChildAccounts(Integer count, Id parentId){ Map<Integer, Account> result = new Map<Integer, Account>(); for(Integer i = 0; i < count; i++) { result.put(i, new Account(Name = 'CP_TestDFAccount_' + i, Customer_Portal_Parent_Account__c = parentId, Credit_status__c = 'Good', ShippingStreet = 'TestStreet', ShippingCity = 'Chicago', ShippingState = 'IL', ShippingPostalCode = '60606', ShippingCountry = 'US', sales_org__c = 'CA93') ); } return result; } //Generates a list of Contacts given a shared AccountId public static Map<Integer, Contact> GenerateContacts(Integer count, Id accountId){ Map<Integer, Contact> result = new Map<Integer, Contact>(); for(Integer i = 0; i < count; i++) { result.put(i, new Contact(FirstName = 'CP_TestDFContact_' + i, LastName = 'Contact', MailingStreet = 'Test Street', Contact_Role__c = roleCustomerPortalUser, AccountID = accountId, Phone = '1234567890') ); } return result; } //Generates a list of Contacts given a shared AccountId public static Map<Integer, Contact> GenerateNonPortalContacts(Integer count, Id accountId){ Map<Integer, Contact> result = new Map<Integer, Contact>(); for(Integer i = 0; i < count; i++) { result.put(i, new Contact(FirstName = 'CP_TestDFNPContact_' + i, LastName = 'NPContact', MailingStreet = 'Test Street', AccountID = accountId, Phone = '1234567890') ); } return result; } //Generates a list of Products public static Map<Integer, Product2> GenerateProducts(Integer count){ Map<Integer, Product2> result = new Map<Integer, Product2>(); for(Integer i = 0; i < count; i++) { result.put(i, new Product2(Name = 'CP_TestProduct_' + i)); } return result; } //Generates a list of Cases with specified count per Account/Contact pair public static Map<Integer, Case> GenerateCases(String status, Integer count, Account acct, Contact ct){ Map<Integer, Case> result = new Map<Integer, Case>(); for(Integer i = 0; i < count; i++) { result.put(i, new Case(Status = status, AccountId = acct.Id, ContactId = ct.Id, Priority = '3-System Restricted', Subject = 'Test Subject ' + i, Description = 'Test Description ' + i, Customer_Functional_Location__c = 'US', Customer_Asset_Number__c = '123' + i, Customer_Serial_Number__c = '1' + i, Customer_Technical_ID__c = 'Id123' + i) ); } return result; } //Generates a list of Cases public static Map<Integer, Case> GenerateCases(String status, Map<Integer, Account> accounts, Map<Integer, Contact> contacts){ Map<Integer, Case> result = new Map<Integer, Case>(); for(Integer i = 0; i < contacts.size(); i++) { result.put(i, new Case(Status = status, AccountId = accounts.get(i).Id, ContactId = contacts.get(i).Id, Priority = '3-System Restricted', Subject = 'Test Subject ' + i, Description = 'Test Description ' + i, Customer_Product__c = 'Test Customer_Product__c', Customer_Asset_Number__c = 'Test Asset', Customer_Serial_Number__c = 'Test S No', Customer_Technical_ID__c = 'Test Tech Id') ); } return result; } //This method is used to generate Random String of supplied length public static String constructTestString(Integer length) { Blob blobKey = crypto.generateAesKey(128); String key = EncodingUtil.convertToHex(blobKey); return key.substring(0,length); } Test class @isTest private class CP_EnableUserControllerExtTest{ /*** Instance Variables ***/ /*** Static Variables (Static) ***/ private static User userCPU; private static Profile cpProfile; private static User userCPM; private static List<User> users; private static Map<Integer, Account> mapParentAccounts; private static Account parentAccount; private static Map<Integer, Account> mapChildAccounts; private static Map<Integer, Contact> mapContacts; /*** Constant Variables (Static Final) ***/ /*** Public Instance Methods ***/ /*** Private Instance Methods ***/ /*** Static Methods ***/ static void GenerateData() { Profile objProfile=[Select Id from Profile where Name=: CP_TestDataFactory.profileAdmin]; UserRole objRole=[select id from UserRole where PortalType='None' limit 1]; User objUser = new User(alias = 'TestUser', email='CP_TestDFUser@PhilipsOC.test', emailencodingkey='UTF-8', lastname='Testing', languagelocalekey='en_US', localesidkey='en_US', UserRoleId=objRole.Id, profileid=objProfile.ID, country='United States', timezonesidkey='America/Los_Angeles', username='CP_TestDFUser@PhilipsOC.test', isActive = true); User thisUser = [ select Id from User where Id = :UserInfo.getUserId()]; System.runAs(thisUser) { insert objUser; } parentAccount = CP_TestDataFactory.GenerateParentAccount(objUser.Id); insert parentAccount; mapChildAccounts = CP_TestDataFactory.GenerateChildAccounts(20, parentAccount.Id); insert mapChildAccounts.values(); mapContacts = CP_TestDataFactory.GenerateContacts(20, parentAccount.Id); insert mapContacts.values(); Profile profileCPU = [select id from profile where name=: CP_TestDataFactory.profileCPU ]; userCPU = new User(alias = 'TestCPU', email='CP_TestDFUserCPU@PhilipsOC.test', emailencodingkey='UTF-8', lastname='Testing', languagelocalekey='en_US', localesidkey='en_US', profileid=profileCPU.ID, contactId = mapContacts.get(1).Id, country='United States', timezonesidkey='America/Los_Angeles', username='CP_TestDFUserCPU@PhilipsOC.test', isActive = true); insert userCPU; Profile profileCPM = [select id from profile where name=: CP_TestDataFactory.profileCPM ]; userCPM = new User(alias = 'TestCPM', email='CP_TestDFUserCPM@PhilipsOC.test', emailencodingkey='UTF-8', lastname='Testing', languagelocalekey='en_US', localesidkey='en_US', profileid=profileCPM.ID, contactId = mapContacts.get(2).Id, country='United States', timezonesidkey='America/Los_Angeles', username='CP_TestDFUserCPM@PhilipsOC.test', isActive = true); insert userCPM; users = new List<User>(); users.add(userCPU); users.add(userCPM); } //Test Method static testmethod void testConstructor() { //@Mahak - this test fails GenerateData(); Test.startTest(); cpProfile = [select id from profile where name=: CP_TestDataFactory.profileCPU ]; PageReference pageRef = Page.CP_EnableUser; Test.setCurrentPage(pageRef); System.currentPageReference().getParameters().put('contact', mapContacts.get(3).id); ApexPages.currentPage().getParameters().put('retURL', mapContacts.get(3).id); System.runAs(userCPM) { ApexPages.StandardController controller = new ApexPages.StandardController(new User()); CP_EnableUserControllerExt enableUserCls= New CP_EnableUserControllerExt(controller); enableUserCls.setFirstNameCon('Test First Name'); enableUserCls.setLastNameCon('Test Last Name'); enableUserCls.setAlias('Alias'); enableUserCls.setEmail('u2@testorg.com'); enableUserCls.setUsername('u2@testorg.com'); enableUserCls.setCommunityNickname('Test Nick Name'); enableUserCls.selectedPrflId = cpProfile.Id; enableUserCls.Alias = 'alias'; enableUserCls.Email = 'mahak.puri@capgemini.com'; String firstName = enableUserCls.getFirstNameCon(); String lastName = enableUserCls.getLastNameCon(); System.assertEquals('Test First Name', enableUserCls.getFirstNameCon()); System.assertEquals('Test Last Name', enableUserCls.getLastNameCon()); } Test.stopTest(); } static testmethod void testSaveRecord(){ GenerateData(); Test.startTest(); cpProfile = [select id from profile where name=: CP_TestDataFactory.profileCPU ]; PageReference pageRef = Page.CP_EnableUser; Test.setCurrentPage(pageRef); System.currentPageReference().getParameters().put('contact', mapContacts.get(3).id); ApexPages.currentPage().getParameters().put('retURL', mapContacts.get(3).id); System.runAs(userCPM) { ApexPages.StandardController controller = new ApexPages.StandardController(new User()); CP_EnableUserControllerExt enableUserCls= New CP_EnableUserControllerExt(controller); enableUserCls.setFirstNameCon('Test First Name'); enableUserCls.setLastNameCon('Test Last Name'); enableUserCls.setAlias('Alias'); enableUserCls.setEmail('u2@testorg.com'); enableUserCls.setUsername('u2@testorg.com'); enableUserCls.setCommunityNickname('Test Nick Name'); enableUserCls.selectedPrflId = cpProfile.Id; enableUserCls.Alias = 'alias'; enableUserCls.Email = 'mahak.puri@capgemini.com'; PageReference expectedPage = Page.CP_ContactDetail; expectedPage.getParameters().put('Id', mapContacts.get(3).id); expectedPage.getParameters().put('Cloned', 'false'); PageReference nextPage = enableUserCls.saveUser(); System.assertEquals(expectedPage.getUrl(), nextPage.getUrl()); } Test.stopTest(); } static testmethod void testCancelRecord(){ GenerateData(); Test.startTest(); PageReference pageRef = Page.CP_EnableUser; Test.setCurrentPage(pageRef); System.currentPageReference().getParameters().put('contact', mapContacts.get(3).id); ApexPages.currentPage().getParameters().put('retURL', mapContacts.get(3).id); System.runAs(userCPM) { ApexPages.StandardController controller = new ApexPages.StandardController(new User()); CP_EnableUserControllerExt enableUserCls= New CP_EnableUserControllerExt(controller); PageReference expectedPage = Page.CP_ContactDetail; expectedPage.getParameters().put('Id', mapContacts.get(3).id); expectedPage.getParameters().put('Cloned', 'false'); PageReference nextPage = enableUserCls.cancelUser(); System.assertEquals(expectedPage.getUrl(), nextPage.getUrl()); } Test.stopTest(); } }
- subrat panda
- October 21, 2014
- Like
- 0
Scheduled apex
Hi I want to know about the schedule apex ? How to write the schedule apex classes?
- subrat panda
- August 20, 2014
- Like
- 0
test class static testMethod void testFirst and static testMethod void testNext I am stuck can anyone help be on these methods.below my controller and test class
@isTest public with sharing class CP_AccountTabExtTest{ /*** Instance Variables ***/ /*** Static Variables (Static) ***/ private static User userCPU; private static User userCPM; private static List<User> users; private static Map<Integer, Account> mapParentAccounts; private static Account parentAccount; private static Map<Integer, Account> mapChildAccounts; private static Map<Integer, Contact> mapContacts; /*** Constant Variables (Static Final) ***/ /*** Public Instance Methods ***/ /*** Private Instance Methods ***/ /*** Static Methods ***/ static void GenerateData() { Profile objProfile=[Select Id from Profile where Name=: CP_TestDataFactory.profileAdmin]; UserRole objRole=[select id from UserRole where PortalType='None' limit 1]; User objUser = new User(alias = 'TestUser', email='CP_TestDFUser@PhilipsOC.test', emailencodingkey='UTF-8', lastname='Testing', languagelocalekey='en_US', localesidkey='en_US', UserRoleId=objRole.Id, profileid=objProfile.ID, country='United States', timezonesidkey='America/Los_Angeles', username='CP_TestDFUser@PhilipsOC.test', isActive = true); User thisUser = [ select Id from User where Id = :UserInfo.getUserId()]; System.runAs(thisUser) { insert objUser; } parentAccount = CP_TestDataFactory.GenerateParentAccount(objUser.Id); insert parentAccount; mapChildAccounts = CP_TestDataFactory.GenerateChildAccounts(250, parentAccount.Id); insert mapChildAccounts.values(); mapContacts = CP_TestDataFactory.GenerateContacts(20, parentAccount.Id); insert mapContacts.values(); Profile profileCPU = [select id from profile where name=: CP_TestDataFactory.profileCPU ]; userCPU = new User(alias = 'TestCPU', email='CP_TestDFUserCPU@PhilipsOC.test', emailencodingkey='UTF-8', lastname='Testing', languagelocalekey='en_US', localesidkey='en_US', profileid=profileCPU.ID, contactId = mapContacts.get(1).Id, country='United States', timezonesidkey='America/Los_Angeles', username='CP_TestDFUserCPU@PhilipsOC.test', isActive = true); insert userCPU; Profile profileCPM = [select id from profile where name=: CP_TestDataFactory.profileCPM ]; userCPM = new User(alias = 'TestCPM', email='CP_TestDFUserCPM@PhilipsOC.test', emailencodingkey='UTF-8', lastname='Testing', languagelocalekey='en_US', localesidkey='en_US', profileid=profileCPM.ID, contactId = mapContacts.get(2).Id, country='United States', timezonesidkey='America/Los_Angeles', username='CP_TestDFUserCPM@PhilipsOC.test', isActive = true); insert userCPM; users = new List<User>(); users.add(userCPU); users.add(userCPM); } static testMethod void testAll() { GenerateData(); system.runAs(userCPU){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); String q = 'SELECT Name FROM ACCOUNT LIMIT 1'; ApexPages.StandardSetController ACC = new ApexPages.StandardSetController(Database.getQueryLocator(q)); List<SelectOption> ListViews = ACC.getListViewOptions(); System.assertEquals(ListViews , acExtController.getAccountExistingViews()); List<Account> accounts = [Select Id, Name, AccountNumber, ShippingStreet, ShippingCity, ShippingState, ShippingCountry FROM Account ORDER BY Name ASC LIMIT 10000]; System.assertEquals(accounts , acExtController.getAccounts()); PageReference expectedPage = Page.CP_AccountDetail; String nextPage = acExtController.AccountDetailPage; System.assertEquals(expectedPage.getUrl(), nextPage); acExtController.resetFilter(); acExtController.prev(); acExtController.next(); acExtController.lastPage(); acExtController.firstPage(); } system.runAs(userCPM){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); String q = 'SELECT Name FROM ACCOUNT LIMIT 1'; ApexPages.StandardSetController ACC = new ApexPages.StandardSetController(Database.getQueryLocator(q)); List<SelectOption> ListViews = ACC.getListViewOptions(); System.assertEquals(ListViews , acExtController.getAccountExistingViews()); List<Account> accounts = [Select Id, Name, AccountNumber, ShippingStreet, ShippingCity, ShippingState, ShippingCountry FROM Account ORDER BY Name ASC LIMIT 10000]; System.assertEquals(accounts , acExtController.getAccounts()); PageReference expectedPage = Page.CP_AccountDetail; String nextPage = acExtController.AccountDetailPage; System.assertEquals(expectedPage.getUrl(), nextPage); acExtController.resetFilter(); acExtController.prev(); acExtController.next(); acExtController.lastPage(); acExtController.firstPage(); } } static testMethod void testNext()}{ GenerateData(); system.runAs(userCPU){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } system.runAs(userCPM){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } } static testMethod void testPrev(){ GenerateData(); system.runAs(userCPU){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } system.runAs(userCPM){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } } static testMethod void testLast(){ GenerateData(); system.runAs(userCPU){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } system.runAs(userCPM){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } } static testMethod void testFirst(){ GenerateData(); system.runAs(userCPU){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } system.runAs(userCPM){ PageReference pageref = Page.CP_AccountTab; Test.setCurrentPage(pageRef); ApexPages.StandardController controller = new ApexPages.StandardController(parentAccount); CP_AccountTabExt acExtController = new CP_AccountTabExt(); } } } public with sharing class CP_AccountTabExt { /*** Instance Variables ***/ public String AccountFilterId { get; set;} private String query = 'Select Id, Name, AccountNumber, ShippingStreet, ShippingCity, ShippingState, ShippingCountry FROM Account ORDER BY Name ASC LIMIT 10000'; private Integer pageSize = 50; /*** Static Variables (Static) ***/ /*** Constant Variables (Static Final) ***/ /*** Public Instance Methods ***/ public CP_AccountTabExt(){} public String AccountDetailPage { get{ if(AccountDetailPage == null){ PageReference accountDetail = Page.CP_AccountDetail; return accountDetail.getURL(); } return ''; } Set; } public ApexPages.StandardSetController AccountSetController { get{ if(AccountSetController == null){ AccountSetController = new ApexPages.StandardSetController(Database.getQueryLocator(query)); AccountSetController.setPageSize(pageSize); // We have to set FilterId after Pagesize, else it will not work if(AccountFilterId != null) { AccountSetController.setFilterId(AccountFilterId); } } return AccountSetController; }set; } public CP_AccountTabExt(ApexPages.StandardSetController ssc) { } //Navigate to first Page public void firstPage() { AccountSetController.first(); } //Navigate to last Page public void lastPage() { AccountSetController.last(); } //Navigate to Next page public void next() { if(AccountSetController.getHasNext()) { AccountSetController.next(); } } //Navigate to Prev Page public void prev() { if(AccountSetController.getHasPrevious()) { AccountSetController.previous(); } } public List<Account> getAccounts() { return (List<Account>)AccountSetController.getRecords(); } //Get all available list view for Account public SelectOption[] getAccountExistingViews(){ return AccountSetController.getListViewOptions(); } /** * Reset List View */ public PageReference resetFilter() { AccountSetController = null; AccountSetController.setPageNumber(1); return null; } }
This will be a big help as I am new to salesforce test class.
- subrat panda
- October 22, 2014
- Like
- 0
Scheduled apex
Hi I want to know about the schedule apex ? How to write the schedule apex classes?
- subrat panda
- August 20, 2014
- Like
- 0