-3

I have written following apex class:

public with sharing class Persmissionset
{
    @AuraEnabled 
public static PermissionPagerWrapper fetchPermission(Decimal pageNumber ,Integer recordToDisply) {
      Integer pageSize = recordToDisply;
      Integer offset = ((Integer)pageNumber - 1) * pageSize;

    // create a instance of wrapper class.
    PermissionPagerWrapper obj =  new PermissionPagerWrapper();
    // set the pageSize,Page(Number), total records and accounts List(using OFFSET)   
        obj.pageSize = pageSize;
        obj.page = (Integer) pageNumber;
        obj.total = [SELECT count() FROM PermissionSetAssignment Where Assignee.isActive = True AND permissionSet.IsOwnedByProfile = FALSE];
        obj.permissonAssignment = [SELECT PermissionSet.Name, PermissionSet.Id, PermissionSet.Label, Assignee.Name, Assignee.Id, Assignee.Profile.Name,Assignee.ProfileId,Assignee.UserRole.Name,Assignee.Profile.UserType,Assignee.Email FROM PermissionSetAssignment 
       Where Assignee.isActive = True AND permissionSet.IsOwnedByProfile = FALSE 
       ORDER BY Assignee.Name LIMIT :recordToDisply OFFSET :offset];
    // return the wrapper class instance .
        return obj;
     }

 // create a wrapper class with @AuraEnabled Properties    
 public class PermissionPagerWrapper {
    @AuraEnabled public Integer pageSize {get;set;}
    @AuraEnabled public Integer page {get;set;}
    @AuraEnabled public Integer total {get;set;}
    @AuraEnabled public List<PermissionSetAssignment> permissonAssignment {get;set;}
   }

But here I am stuck in writing test class for this object.

Can some one help here as of now I am writing this test class but its giving error for me:

@isTest
public class PermissionsetTest
{
  static testMethod void PermissionTest()
  {
 List<> saList = Persmissionset.fetchPermission(10 ,100);

  }
}
  • 1
    It is comlaining about List<> saList, you haven't mention any object for the List, however, your method returns PermissionPagerWrapper, so it is better to write smth like this: PermissionPagerWrapper ans = Persmissionset.fetchPermission(10 ,100); – Mariia Illarionova Jul 19 at 10:00
  • I tried using the above mentioned but getting invalid identifier error. – Pushpesh Bisht Jul 19 at 10:06
1

PermissionPageWrapper is an inner class. In your test class, you must refer to it as Persmissionset.PermissionPageWrapper. This will allow you to correctly declare

List<Persmissionset.PermissionPageWrapper> saList = Persmissionset.fetchPermission(10 ,100);

and then write assertions.

To avoid being dependent on org configuration, your test class will have to do some work to create a test-context user and assign them a permission set, or you will need to use a mocking pattern to allow you to inject the query results so that you can actually page through results.

Not the answer you're looking for? Browse other questions tagged or ask your own question.