• Jigar Patel 7
  • NEWBIE
  • 10 Points
  • Member since 2016

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 1
    Replies
Hello,
Please anyone help me to write test class for execute method and list function! Hear i am give you my full apex class..

APEX Class:
global class CopyLoginHistory  {
   

    public List <LoginHistory> getLoginHistory()
    {
            return [SELECT ApiType,
                                                    ApiVersion,
                                                    Application,
                                                    Browser,
                                                    
                                                    Id,
                                                    ClientVersion,
                                                    LoginType,
                                                    LoginUrl,
                                                    Platform,
                                                    SourceIp,
                                                    Status,
                                                    UserId
                                            FROM LoginHistory
                                            WHERE LoginTime <: System.now()
                                            limit 1000];
    }
    
    public void execute ()
    {
        List <LoginHistory> lh = new List <LoginHistory> ();
        {
            lh = [SELECT ApiType, ApiVersion, Application, Browser, Id, ClientVersion, LoginType, LoginUrl, Platform, SourceIp, Status,
                   UserId FROM LoginHistory WHERE LoginTime <: System.now() limit 1000];
            
            string APIType;
            string APIVersion;
            string App;
            string Browser;
            string ClientVersion;
            string ID1;
           // DateTime LoginTime;
            string LoginType;
            string LoginURL;
            string Platform;
            string SourceIP;
            string Status;
            string UserID;
            
            for (LoginHistory login: lh)
            {
                APIType = login.ApiType;
                APIVersion = login.ApiVersion;
                App = login.Application;
                Browser = login.Browser;
                ID1 = login.Id;
                ClientVersion = login.ClientVersion;
              //  LoginTime = login.LoginTime;
                LoginType = login.LoginType;
                LoginURL = login.LoginUrl;
                Platform = login.Platform;
                SourceIP = login.SourceIp;
                Status = login.Status;
                UserID = login.UserId;
            }
            
            if (!lh.isEmpty())
            {
                List <TrackLoginHistory__c> trl = new List <TrackLoginHistory__c> ();
                User LogUser = [SELECT id, Name, Profile.Name, CompanyName, Email, Address FROM User WHERE ID =: UserID];
                for (LoginHistory login1: lh)
                {                
                    trl.add(new TrackLoginHistory__c (ApiType__c = APIType, 
                                         ApiVersion__c = APIVersion, 
                                         Application__c = App,
                                         Browser__c = Browser, 
                                         ClientVersion__c = ClientVersion, 
                                         ID__c = ID1,
                                        // LoginTime__c = String.valueOf(LoginTime),
                                         LoginType__c = LoginType,
                                         LoginURL__c = LoginURL,
                                         Platform__c = Platform,
                                         SourceIP__c = SourceIP,
                                         Status__c = Status,
                                          UserID__c = LogUser.Name,
                                          Profile__c = LogUser.Profile.Name,
                                          Address__c = String.valueOf(LogUser.Address),
                                          Email__c    = LogUser.Email,
                                          CompanyName__c = LogUser.CompanyName
                                           ));
                                         //UserID__c = UserID ));                
                
                }
                
                insert trl;                                         
            }
        }
    }
}

Thank You!
Hello, 
I don't know how to write test code for list method! Hear, i am giving you my original apex class,

APEX Class:

public class Accountant_Profil {
    
    public List<User> getUser(){
        
      return [Select FirstName, LastName, Username, Email, UserRole.Name, Profile.Name, SmallPhotoUrl From User WHERE FirstName = 'Dharam'];
        
    }

    public List<PermissionSetAssignment> getPermissionSetAssignment(){
        
        return [ SELECT PermissionSet.Description, PermissionSet.Name FROM PermissionSetAssignment  WHERE Assignee.Name = 'Dharam Makvana' ];
    
    }
    
    public List<ObjectPermissions> getObjectPermissions(){

        List<ObjectPermissions> Acc =  [SELECT SObjectType, PermissionsRead, PermissionsCreate, PermissionsDelete, PermissionsEdit, PermissionsModifyAllRecords, PermissionsViewAllRecords, Parent.Name FROM ObjectPermissions WHERE (ParentId IN (SELECT PermissionSetId FROM PermissionSetAssignment WHERE Assignee.Name = 'Dharam Makvana'))];
         return Acc;
    }

}

Please Help Me.
Thanks
Hello, 
I don't know how to write test code for list method! Hear, i am giving you my original apex class,

APEX Class:

public class Accountant_Profil {
    
    public List<User> getUser(){
        
      return [Select FirstName, LastName, Username, Email, UserRole.Name, Profile.Name, SmallPhotoUrl From User WHERE FirstName = 'Dharam'];
        
    }

    public List<PermissionSetAssignment> getPermissionSetAssignment(){
        
        return [ SELECT PermissionSet.Description, PermissionSet.Name FROM PermissionSetAssignment  WHERE Assignee.Name = 'Dharam Makvana' ];
    
    }
    
    public List<ObjectPermissions> getObjectPermissions(){

        List<ObjectPermissions> Acc =  [SELECT SObjectType, PermissionsRead, PermissionsCreate, PermissionsDelete, PermissionsEdit, PermissionsModifyAllRecords, PermissionsViewAllRecords, Parent.Name FROM ObjectPermissions WHERE (ParentId IN (SELECT PermissionSetId FROM PermissionSetAssignment WHERE Assignee.Name = 'Dharam Makvana'))];
         return Acc;
    }

}

Please Help Me.
Thanks