You need to sign in to do that
Don't have an account?
R@v!
Help me to write test class for below code thanks in advance...
public class Onboarding_OffboardingCtr { public string sFirstName{get;set;} public string sLastName {get;set;} public string sEmail {get;set;} public date dFirstDate{get;set;} Public date dLAstdate{get;set;} public boolean sSalesforceUser{get;set;} public boolean bTeamWorkUser{get;set;} public boolean bOnboarding {get;set;} public boolean bOffboarding {get;set;} public profile sProfileId{get;set;} public Id profile {get;set;} public Onboarding_OffboardingCtr(){ sFirstName = null; sLastName = null; sEmail = null; dFirstDate = null; dLAstdate = null; sSalesforceUser = false; bTeamWorkUser = false; } Public pageReference Submit(){ try{ if(sSalesforceUser == true){ sProfileId = [SELECT Id from profile Where Name = 'Force.com -App Sub. Custom' LIMIT 1]; if(sProfileId != null) profile = sProfileId.id; List<User> lstUser = [SELECT Id FROM User WHERE Email =: sEmail]; if(lstUser.size()==0){ system.debug(sSalesforceUser); system.debug(sProfileId); system.debug(sFirstName); system.debug(sLastName); User newUser = new User(); newUser.Username= sEmail; if(validateEmail(sEmail) == true) newUser.Email = sEmail; else ApexPages.addMessage(new ApexPages.message(ApexPages.Severity.Error, 'Check your email')); newUser.Lastname = sLastName; newUser.Firstname = sFirstName; newUser.ProfileId = profile; newUser.CommunityNickname = sFirstName; newUser.Alias = sLastName; newUser.TimeZoneSidKey = 'GMT'; newUser.LocaleSidKey = 'en_US'; newUser.EmailEncodingKey = 'ISO-8859-1'; newUser.LanguageLocaleKey = 'en_US'; newUser.UserPermissionsMobileUser = false; insert newUser; ApexPages.addMessage(new ApexPages.message(ApexPages.Severity.CONFIRM, 'Salesforce user successfully create')); } } if(bTeamWorkUser==true){ List<User> lstUser = [SELECT Id, Email FROM User WHERE Email =:sEmail AND IsActive= true]; if(lstUser.size()>0){ string sUserEmail = lstUser.get(0).Email; string bodyRes = TPM_Common.retrieveItem('people.json?emailaddress='+sUserEmail); if(bodyRes != null){ Map<String, Object> root = (Map<String, Object>)JSON.deserializeUntyped(bodyRes); if(root.containsKey('people') && root.get('people')!=''){ List<Object> items = (List<Object>)root.get('people'); if(items.size() >0){ System.Debug('rootSize : '+items.size()); System.Debug('root : '+root.containsKey('people')); System.Debug('root : '+root.get('people')); system.debug('---------------------------------'+bodyRes); ApexPages.addMessage(new ApexPages.message(ApexPages.Severity.ERROR, 'User already exist in TeamWorkPM')); } else{ string body = '{"person": {"first-name": "'+sFirstName+'","last-name": "'+sLastName+'","email-address": "'+sEmail+'","user-type": "account","user-name": "'+sEmail+'","company-id": "1446","dateFormat": "dd/mm/yyyy","sendWelcomeEmail": "no","receiveDailyReports": "no","autoGiveProjectAccess": "yes","userLanguage": "EN","administrator": "yes","canAddProjects": "yes","timezoneId" : "15","notifyOnTaskComplete":"no","userReceiveNotifyWarnings":"no","notify-on-added-as-follower":"yes","notify-on-status-update":"yes"}}'; string sTeamWorkPM_Id = TPM_Common.createItem(body, 'people.json'); lstUser.get(0).TeamworkPM_User_ID__c = sTeamWorkPM_Id; update lstUser; ApexPages.addMessage(new ApexPages.message(ApexPages.Severity.CONFIRM, 'TeamWork user successfully create')); } } } } else{ ApexPages.addMessage(new ApexPages.message(ApexPages.Severity.ERROR, 'No Salesforce User with this Email Id')); } } if(bOnboarding == true){ string sDate = TPM_Common.formatDate(dFirstDate); List<Tasklist_Template__c> lstTaskTemp = [SELECT Id, Description__c, TeamworkPM_Template_ID__c FROM Tasklist_Template__c WHERE Phase_Template__r.Associated_Phase__c = 'Onboarding']; if(lstTaskTemp.size()>0 && lstTaskTemp != null){ for(Tasklist_Template__c oTemplate : lstTaskTemp){ string body = '{"todo-list": {"name": "OnBoarding Tasklist","private": false,"pinned": true,"milestone-id": "","description": "'+oTemplate.Description__c+'","todo-list-template-id": "'+oTemplate.TeamworkPM_Template_ID__c+'","todo-list-template-start-date":"'+sDate+'"}}'; string sTeamWorkPM_Id = TPM_Common.createItem(body, 'projects/94222/tasklists.json'); ApexPages.addMessage(new ApexPages.message(ApexPages.Severity.CONFIRM, 'OnBoarding Tasklist has been successfully create')); } } } if(bOffboarding == true){ string sDate = TPM_Common.formatDate(dLAstdate); List<Tasklist_Template__c> lstTaskTemp = [SELECT Id, Description__c, TeamworkPM_Template_ID__c FROM Tasklist_Template__c WHERE Phase_Template__r.Associated_Phase__c = 'Offboarding']; if(lstTaskTemp.size()>0 && lstTaskTemp != null){ for(Tasklist_Template__c oTemplate : lstTaskTemp){ string body = '{"todo-list": {"name": "OffBoarding Tasklist","private": false,"pinned": true,"milestone-id": "","description": "'+oTemplate.Description__c+'","todo-list-template-id": "'+oTemplate.TeamworkPM_Template_ID__c+'","todo-list-template-start-date":"'+sDate+'"}}'; string sTeamWorkPM_Id = TPM_Common.createItem(body, 'projects/94222/tasklists.json'); ApexPages.addMessage(new ApexPages.message(ApexPages.Severity.CONFIRM, 'OffBoarding Tasklist has been successfully create')); } } } } catch (DMLException e) { if (e.getMessage().contains('LICENSE_LIMIT_EXCEEDED')) { ApexPages.addMessage(new ApexPages.message(ApexPages.Severity.Error, 'Your org does not have sufficient licenses')); } else { // rethrow the exception or take some other action here throw e; } } return null; } //Email validation public static Boolean validateEmail(String email) { Boolean res = true; String emailRegex = '^[a-zA-Z0-9._|\\\\%#~`=?&/$^*!}{+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$'; // source: <a rel="nofollow" href="http://www.regular-expressions.info/email.html" target="_blank">http://www.regular-expressions.info/email.html</a> Pattern MyPattern = Pattern.compile(emailRegex); Matcher MyMatcher = MyPattern.matcher(email); if (!MyMatcher.matches()){ res = false; ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'Check your email')); } return res; } }