• A Ananthi
  • NEWBIE
  • 15 Points
  • Member since 2022

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 3
    Questions
  • 4
    Replies
Hi .... Can anyone help me to write test  class for the following apex class....
public class ObjectPermissionClass {
      @AuraEnabled(Cacheable=true)
    
    public static List<ObjectPermissions> objectPermission(){
        List<ObjectPermissions> obj = new List<ObjectPermissions>();
        obj = [SELECT Parent.label,Parent.Profile.Name, ParentId,Parent.Name,SObjectType,PermissionsRead,PermissionsCreate,PermissionsEdit,PermissionsDelete,PermissionsViewAllRecords,PermissionsModifyAllRecords  FROM ObjectPermissions where parentId !=null and SObjectType = 'Account'];
        System.debug('obj>>'+obj);
        return obj;
        
  
    }
  public class wrapper{
        @AuraEnabled
        public String profilename{get;set;}
         @AuraEnabled
        public String parentname{get;set;}
        @AuraEnabled
        public String objecttype{get;set;}
        @AuraEnabled
        public Boolean read{get;set;}
        @AuraEnabled
        public Boolean create{get;set;}
        @AuraEnabled
        public Boolean edit{get;set;}
        @AuraEnabled
        public Boolean deleterec{get;set;}
        @AuraEnabled
        public Boolean viewall{get;set;}
        @AuraEnabled
        public Boolean modifyall{get;set;}
        @AuraEnabled
        public String objAccessId{get;set;}
        @AuraEnabled
        public String fieldId{get;set;}
        @AuraEnabled
        public String objfields{get;set;}
         @AuraEnabled
        public String profileId{get;set;}
         @AuraEnabled
        public String parentIds{get;set;}
        @AuraEnabled
        public String types{get;set;}
        @AuraEnabled
        public String parentnames{get;set;}
        
    }

   public class fieldwrapper{
       
        @AuraEnabled
        public String objecttype{get;set;}
        @AuraEnabled
        public Boolean read{get;set;}
        
        @AuraEnabled
        public Boolean edit{get;set;}
        
        @AuraEnabled
        public String parentIds{get;set;}
        @AuraEnabled
        public String fieldId{get;set;}
        @AuraEnabled
        public String objfields{get;set;}
        
    }

@AuraEnabled(Cacheable=true)
    public static List<wrapper> getprofilerecordRead(String objectType,String selectedbyType,String profileName,boolean readPermission,boolean createPermission,boolean editPermission,boolean deletePermission,boolean viewPermission,boolean modifyPermission){
       system.debug('@@@@type'+objectType);
       system.debug('@@@@profiletype'+profileName);
         system.debug('@@@@type'+selectedbyType);
        system.debug('@@@@read'+readPermission);
        system.debug('@@@@create'+createPermission);
        system.debug('@@@@edit'+editPermission);
        system.debug('@@@@delete'+deletePermission);
        system.debug('@@@@view'+viewPermission);
        system.debug('@@@@modify'+modifyPermission);
        List<wrapper>  wraplist3= new List<wrapper>();
        String query ='SELECT Id,Parent.Name,Parent.ProfileId,Parent.Profile.Name,ParentId, PermissionsRead,PermissionsCreate,SObjectType,PermissionsEdit,PermissionsDelete,PermissionsViewAllRecords,PermissionsModifyAllRecords from ObjectPermissions ';
      String appendQuery = '';
   if(objectType != 'None' && profileName!= 'None' )
        {

        query=query+'Where SObjectType=:objectType AND  Parent.Profile.Name=:profileName AND Parent.Name!=null ';  
      

        }
    
        else if(profileName != 'None')
        {
            query=query+'WHERE Parent.Profile.Name=:profileName ';  
           
        }
        else if(objectType !='None' &&  profileName == 'None' && selectedbyType == 'Profile')
        {
            query=query+'Where SObjectType=:objectType And Parent.ProfileId != null  ';  
           
        }
         if(readPermission != null && readPermission ==true ){
             appendQuery=appendQuery+'AND PermissionsRead=:readPermission ';

        }
         if(createPermission != null && createPermission ==true){
              appendQuery=appendQuery+'AND PermissionsCreate=:createPermission ';

        }
         if(editPermission != null && editPermission ==true ){
             appendQuery=appendQuery+'AND PermissionsEdit=:editPermission ';

        }
          if(deletePermission != null && deletePermission ==true ){
             appendQuery=appendQuery+'AND PermissionsDelete=:deletePermission ';

        }
            if(viewPermission != null && viewPermission ==true ){
             appendQuery=appendQuery+'AND PermissionsViewAllRecords=:viewPermission ';

        }

    if(modifyPermission != null && modifyPermission ==true ){
             appendQuery=appendQuery+'AND PermissionsModifyAllRecords=:modifyPermission ';

        }



        query=query+appendQuery;
         System.debug('@@query1'+query);
   if(objectType != 'None' && profileName!= 'None' )
        {

  
        query=query+' Order By parent.profile.Name, SobjectType ';

        }
        else if(objectType !='None' &&  profileName == 'None' && selectedbyType == 'Profile' )
        {
 
            query=query+' Order By parent.profile.Name';

        } 
        else if(profileName != 'None')
        {

            query=query+' Order By SObjectType ';
        }
        System.debug('@@query2'+query);


        for(ObjectPermissions per:Database.query(query)){
            wrapper wra=New wrapper();
            wra.profilename=per.Parent.Profile.Name;
            wra.profileId=per.Parent.ProfileId;
            wra.parentname=per.Parent.Name;
            wra.parentIds=per.ParentId;
            wra.objecttype=per.SObjectType;
            wra.read=per.PermissionsRead;
            wra.create=per.PermissionsCreate;
            wra.edit=per.PermissionsEdit;
            wra.deleterec=per.PermissionsDelete;
            wra.viewall=per.PermissionsViewAllRecords;
            wra.modifyall=per.PermissionsModifyAllRecords;
            wra.objAccessId =per.Id;
            wraplist3.add(wra);
           
        } 
         System.debug('wraplist'+wraplist3);
        return  wraplist3;
    }

//Query to get object name and permission name and readcheck,createcheck,editcheck,deletecheck,viewcheck,modifycheck

@AuraEnabled(Cacheable=true)
// public static List<wrapper> getprofilerecordRead(boolean readPermission){
    public static List<wrapper> getpermissionrecordRead(String objectType,String selectedbyType,String permissionName,boolean readPermission,boolean createPermission,boolean editPermission,boolean deletePermission,boolean viewPermission,boolean modifyPermission){
       system.debug('@@@@type'+objectType);
       system.debug('@@@@permissiontype'+permissionName);
       system.debug('@@@@selectedbyType'+selectedbyType);
        system.debug('@@@@read'+readPermission);
        system.debug('@@@@create'+createPermission);
        system.debug('@@@@edit'+editPermission);
        system.debug('@@@@delete'+deletePermission);
        system.debug('@@@@view'+viewPermission);
        system.debug('@@@@modify'+modifyPermission);
        List<wrapper>  wraplist4= new List<wrapper>();
        String query ='SELECT Id,Parent.Name,Parent.ProfileId,Parent.Profile.Name,ParentId, PermissionsRead,PermissionsCreate,SObjectType,PermissionsEdit,PermissionsDelete,PermissionsViewAllRecords,PermissionsModifyAllRecords from ObjectPermissions ';
      String appendQuery = '';
   if(objectType != 'None' && permissionName!= 'None' )
        {

        query=query+'Where SObjectType=:objectType AND  ParentId=:permissionName AND Parent.Name!=null ';  
      

        }
          else if(objectType !='None')
        {
            query=query+'Where SObjectType=:objectType AND Parent.Name!=null And Parent.ProfileId = null ';  
           

        } 
        else if(permissionName != 'None')
        {
            query=query+'WHERE ParentId=:permissionName AND Parent.Name!=null ';  
           
        }
        //   else if(objectType !='None' &&  permissionName == 'None' &&  selectedbyType == 'PermissionSet')
           
         if(readPermission != null && readPermission ==true ){
             appendQuery=appendQuery+'AND PermissionsRead=:readPermission ';

        }
         if(createPermission != null && createPermission ==true){
              appendQuery=appendQuery+'AND PermissionsCreate=:createPermission ';

        }
         if(editPermission != null && editPermission ==true ){
             appendQuery=appendQuery+'AND PermissionsEdit=:editPermission ';

        }
          if(deletePermission != null && deletePermission ==true ){
             appendQuery=appendQuery+'AND PermissionsDelete=:deletePermission ';

        }
            if(viewPermission != null && viewPermission ==true ){
             appendQuery=appendQuery+'AND PermissionsViewAllRecords=:viewPermission ';

        }

    if(modifyPermission != null && modifyPermission ==true ){
             appendQuery=appendQuery+'AND PermissionsModifyAllRecords=:modifyPermission ';

        }



        query=query+appendQuery;
         System.debug('@@query1'+query);


        for(ObjectPermissions per:Database.query(query)){
            System.debug('@@query2'+query);

            wrapper wra=New wrapper();
            wra.profilename=per.Parent.Profile.Name;
            wra.profileId=per.Parent.ProfileId;
            wra.parentname=per.Parent.Name;
            wra.parentIds=per.ParentId;
            wra.objecttype=per.SObjectType;
            wra.read=per.PermissionsRead;
            wra.create=per.PermissionsCreate;
            wra.edit=per.PermissionsEdit;
            wra.deleterec=per.PermissionsDelete;
            wra.viewall=per.PermissionsViewAllRecords;
            wra.modifyall=per.PermissionsModifyAllRecords;
            wra.objAccessId =per.Id;
            wraplist4.add(wra);
            System.debug('wraplist'+wraplist4);
        } 
        return  wraplist4;
    }

    @AuraEnabled()
    public static void  createObjectPermissions1(Wrapper objper) {
        system.debug('ObjectPermissions'+objper);
        ObjectPermissions obj = new ObjectPermissions();
        obj.Id= objper.objAccessId;
        obj.PermissionsRead=objper.read;
        obj.PermissionsCreate= objper.create;
        obj.PermissionsEdit=objper.edit;
        obj.PermissionsDelete=objper.deleterec;
        obj.PermissionsViewAllRecords=  objper.viewall;
        obj.PermissionsModifyAllRecords=objper.modifyall;

     
        update obj;
        system.debug('saved'+objper);
        // return objper;
    }
      @AuraEnabled
    public static ObjectPermissions createObjectPermissions(ObjectPermissions objper) {
        system.debug('objper'+objper);
        insert objper;
        return objper;
    }

    //To save/update a record
    @AuraEnabled()
    public static void  updateObjectPermissions(String objper,String objprofilename,boolean objread,boolean objcreate,boolean objedit,boolean objdelete,boolean objview,boolean objmodify) {
        system.debug('ObjectPermissions'+objper);
         system.debug('objprofilename'+objprofilename);
      

        ObjectPermissions obj = new ObjectPermissions();
        obj.Id= objper;
       
        obj.PermissionsRead=objread;
        obj.PermissionsCreate= objcreate;
        obj.PermissionsEdit=objedit;
        obj.PermissionsDelete=objdelete;
        obj.PermissionsViewAllRecords= objview;
        obj.PermissionsModifyAllRecords=objmodify;

       
        update obj;
        system.debug('saved'+obj);
        system.debug('saved'+objper);
    }
  
   

    @AuraEnabled()
    public static void  updateFieldPermissions1(String objFieldsId,boolean fieldRead,boolean fieldEdit) {
        system.debug('FieldPermissions'+objFieldsId);
      

        FieldPermissions fields = new FieldPermissions();
        fields.Id= objFieldsId;
       
        fields.PermissionsRead=fieldRead;
       
        fields.PermissionsEdit=fieldEdit;
    
       
        update fields;
        system.debug('saved'+fields);
    }
    
   

    @AuraEnabled()
    public static void  updateFieldPermissions(String objFieldsId) {
        system.debug('FieldPermissions'+objFieldsId);
  List<fieldwrapper>  wrapperList = (List<fieldwrapper>)JSON.deserialize(objFieldsId, List<fieldwrapper>.class);
       // fieldwrapper wrapper=(fieldwrapper)JSON.deserialize(objFieldsId,fieldwrapper.class);
        
      system.debug('wrapper:'+wrapperList);
      List<FieldPermissions> fieldPermList = new List<FieldPermissions>();
        if(wrapperList!=null)
        {
        for(fieldwrapper wrp :wrapperList )
        {
            FieldPermissions fields = new FieldPermissions();
            fields.Id= wrp.fieldId;
            fields.PermissionsRead=wrp.read;
            fields.PermissionsEdit=wrp.edit;
            fieldPermList.add(fields);
        }
            update fieldPermList;
        system.debug('saved'+fieldPermList);
        }
        
        }
    
    


@AuraEnabled(Cacheable=true)
    public static List<fieldwrapper> getfieldsrecord(String objectType,String getParentId){
        system.debug('@@@@type'+objectType);
         system.debug('@@@@parentIdtype'+getParentId);
        List<fieldwrapper>  wraplist5= new List<fieldwrapper>();



        String query ='Select Id,SobjectType,Parent.Name,ParentId,Field, PermissionsEdit, PermissionsRead From FieldPermissions ';
        {

        query=query+'where SObjectType=:objectType AND ParentId=:getParentId ';  
     
        
        System.debug('@@query'+query);
       


        for(FieldPermissions per:Database.query(query)){
            fieldwrapper wra=New fieldwrapper();
            wra.fieldId = per.Id;
            wra.objecttype=per.SObjectType;
            wra.objfields=per.Field;
            wra.read=per.PermissionsRead;
            wra.edit=per.PermissionsEdit;
            wra.parentIds=per.ParentId;
            
          
         
            wraplist5.add(wra);
            System.debug('wraplist'+wraplist5);
        } 
        
     return  wraplist5;
    }



    @AuraEnabled(Cacheable=true)
    public static List<wrapper> getfieldsrecord1(String objectType,String getParentId){
        system.debug('@@@@type'+objectType);
         system.debug('@@@@parentIdtype'+getParentId);
        List<wrapper>  wraplist5= new List<wrapper>();
 List<wrapper>  fieldList= new List<wrapper>();
  List<wrapper>  stdFieldList= new List<wrapper>();
 
        Map<String,String> fieldAccessStdFldMapComp = new Map<String,String>();  
         Map<String,String> fieldAccessCusFldMapComp = new Map<String,String>();
        for(Schema.SObjectField  fl:  Schema.getGlobalDescribe().get(objectType).getDescribe().fields.getMap().values())  
        {
            Schema.DescribeFieldResult f = fl.getDescribe();
            if(f.isPermissionable() && f.isCustom())
            {              
                if(!fieldAccessCusFldMapComp.containsKey(f.getName()))
                {
                    if(f.isCalculated() || f.isAutoNumber())
                    {
                        fieldAccessCusFldMapComp.put(objectType+'.'+f.getName(),'readonly' );  
                    }
                    else
                    {
                        fieldAccessCusFldMapComp.put(objectType+'.'+f.getName(),'both' );  
                    }                                                          
                }                            
            } 
            if(f.isPermissionable() && !f.isCustom())
            {              
                if(!fieldAccessStdFldMapComp.containsKey(f.getName()))
                {
                    if(f.isCalculated() || f.isAutoNumber())
                    {
                        fieldAccessStdFldMapComp.put(objectType+'.'+f.getName(),'readonly' );  
                    }
                    else
                    {
                        fieldAccessStdFldMapComp.put(objectType+'.'+f.getName(),'both' );  
                    }                                                          
                }                            
            } 
        }
        system.debug('@@@@@fieldAccessMapComp'+fieldAccessStdFldMapComp);  

        String query ='Select Id,SobjectType,Parent.Name,ParentId,Field, PermissionsEdit, PermissionsRead From FieldPermissions ';
        // if(objectType != 'None' )
        // {

        query=query+'where SObjectType=:objectType AND ParentId=:getParentId ';  
     
        
        System.debug('@@query'+query);
       


        for(FieldPermissions per:Database.query(query)){
            wrapper wra=New wrapper();
            wra.fieldId = per.Id;
            wra.objecttype=per.SObjectType;
            wra.objfields=per.Field;
            wra.read=per.PermissionsRead;
            wra.edit=per.PermissionsEdit;
            wra.parentIds=per.ParentId;
            
          
         
            wraplist5.add(wra);
            System.debug('wraplist'+wraplist5);
        } 
        
    return  wraplist5;
    }
    
}
Count is active field from contact object and populate the result in related account.....can anyone please help me to solve this
Hi ... i have count the field "is active " from contact object and should populate the value in "Total active contacts" in account object.
can anyone help me i'm new to codings..
Hi ... i have count the field "is active " from contact object and should populate the value in "Total active contacts" in account object.
can anyone help me i'm new to codings..

Hi

  

      Please help me in writting a trigger for moving billing address to shipping address for both insert and update events

 

 thanks

 naren.