• aastha bhalla 2
  • NEWBIE
  • 0 Points
  • Member since 2022

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 2
    Replies
==============Apex Class=================
public without sharing class contactClass {    
        @AuraEnabled
        public static string saveContact(Lead LeadRec, string file, string fileName) {
          string LeadID;
          try{
            Lead l = new Lead();
            list<Lead> leadList = [select Id, Email from Lead where Email =:LeadRec.Email];
            system.debug('EmailListLength  ' + leadList.size()); 

            Contact c = new Contact();
            list<Contact> conList = [select Id, Email from Contact where Email =:LeadRec.Email];
            system.debug('EmailListLength  ' + conList.size()); 
                      
            if(leadList.size() > 0 || conList.size() > 0 ) {
            system.debug('Duplicate email Not Allowed');    
            //return 'Duplicate email not allowed';        
            throw new AuraHandledException('First name is required');      
            }                               
            else {      
            Insert LeadRec;      
            }    
            LeadID = LeadRec.Id;
            String base64File = EncodingUtil.urlDecode(file, 'UTF-8');
            ContentVersion contentVersionRec = new ContentVersion();
            contentVersionRec.Title = fileName;
            contentVersionRec.PathOnClient = '/' + fileName;
            contentVersionRec.FirstPublishLocationId = LeadRec.Id;
            contentVersionRec.VersionData =      EncodingUtil.base64Decode(base64File);
            contentVersionRec.IsMajorVersion = true;
            Insert contentVersionRec;
            
          }
          catch(Exception ex){
            system.debug('Exception===>'+ex.getMessage());
          }
          return LeadID;
        }        
      }


===================TEST CLASS=======================
@isTest
public class contactClassTest {
    @isTest
     static void positiveCheckMethod(){
        Lead objLead = New Lead();
        objLead.LastName = 'Test';
        objLead.FirstName='Upload';
        objLead.Company = 'Test Company';
        objLead.status='New';
        objLead.School__c='VVPS';
        objLead.Sport__c='Cricket';
        objLead.Email='abc@gmail.com';
        objLead.Phone='9988776655';
        insert objLead;
        
        contact objCon = new contact();
        objCon.FirstName='Test 1';
        objCon.Email='abcdef@gmail.com';
        objCon.LastName='Upload';
        objCon.Phone='1234567876';
        insert objCon;
            
        ContentVersion cv = new ContentVersion();
        cv.Description  = 'test description';
        cv.PathOnClient ='test_file.txt';
        cv.Title = 'test file '+DateTime.now();
        cv.versiondata=Blob.valueOf('test file body');
        cv.FirstPublishLocationId = objLead.Id;
        insert cv;
        system.debug(cv);
        
         Blob csvFileBody =cv.VersionData;
         String csvAsString= csvFileBody.toString();
         system.debug(csvAsString);
        
        
        
        contactClass.saveContact(objLead,csvAsString,'test file');
        

           
    }
      @isTest
      public static void negativCheckMethod(){
        lead l1 = new lead();
        contactClass.saveContact(l1,'demo','test file');
    }   
}
==============Apex Class=================
public without sharing class contactClass {    
        @AuraEnabled
        public static string saveContact(Lead LeadRec, string file, string fileName) {
          string LeadID;
          try{
            Lead l = new Lead();
            list<Lead> leadList = [select Id, Email from Lead where Email =:LeadRec.Email];
            system.debug('EmailListLength  ' + leadList.size()); 

            Contact c = new Contact();
            list<Contact> conList = [select Id, Email from Contact where Email =:LeadRec.Email];
            system.debug('EmailListLength  ' + conList.size()); 
                      
            if(leadList.size() > 0 || conList.size() > 0 ) {
            system.debug('Duplicate email Not Allowed');    
            //return 'Duplicate email not allowed';        
            throw new AuraHandledException('First name is required');      
            }                               
            else {      
            Insert LeadRec;      
            }    
            LeadID = LeadRec.Id;
            String base64File = EncodingUtil.urlDecode(file, 'UTF-8');
            ContentVersion contentVersionRec = new ContentVersion();
            contentVersionRec.Title = fileName;
            contentVersionRec.PathOnClient = '/' + fileName;
            contentVersionRec.FirstPublishLocationId = LeadRec.Id;
            contentVersionRec.VersionData =      EncodingUtil.base64Decode(base64File);
            contentVersionRec.IsMajorVersion = true;
            Insert contentVersionRec;
            
          }
          catch(Exception ex){
            system.debug('Exception===>'+ex.getMessage());
          }
          return LeadID;
        }        
      }


===================TEST CLASS=======================
@isTest
public class contactClassTest {
    @isTest
     static void positiveCheckMethod(){
        Lead objLead = New Lead();
        objLead.LastName = 'Test';
        objLead.FirstName='Upload';
        objLead.Company = 'Test Company';
        objLead.status='New';
        objLead.School__c='VVPS';
        objLead.Sport__c='Cricket';
        objLead.Email='abc@gmail.com';
        objLead.Phone='9988776655';
        insert objLead;
        
        contact objCon = new contact();
        objCon.FirstName='Test 1';
        objCon.Email='abcdef@gmail.com';
        objCon.LastName='Upload';
        objCon.Phone='1234567876';
        insert objCon;
            
        ContentVersion cv = new ContentVersion();
        cv.Description  = 'test description';
        cv.PathOnClient ='test_file.txt';
        cv.Title = 'test file '+DateTime.now();
        cv.versiondata=Blob.valueOf('test file body');
        cv.FirstPublishLocationId = objLead.Id;
        insert cv;
        system.debug(cv);
        
         Blob csvFileBody =cv.VersionData;
         String csvAsString= csvFileBody.toString();
         system.debug(csvAsString);
        
        
        
        contactClass.saveContact(objLead,csvAsString,'test file');
        

           
    }
      @isTest
      public static void negativCheckMethod(){
        lead l1 = new lead();
        contactClass.saveContact(l1,'demo','test file');
    }   
}