function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
HTANIRSHTANIRS 

test class for global registration handler

Hi Friends,

Need help to write test class for below class:

global class AutocreatedRegHandler1432826053915 implements Auth.RegistrationHandler{

    global User createUser(Id portalId, Auth.UserData data){

        User u = [SELECT ID FROM User Where Other_Salesforce_Org_Username__c = : data.username];

        return u;

    }

    global void updateUser(Id userId, Id portalId, Auth.UserData data){
       System.debug('Update User called for: ' + data.email);    
    User u = new User(id=userId);
    u.email = data.email;
    u.lastName = data.lastName;
    u.firstName = data.firstName;
    update(u);

    }
}

Thanks.
Best Answer chosen by HTANIRS
Raj VakatiRaj Vakati
@isTest
private class AutocreatedRegHandler1432826053915Test {
    static testMethod void testCreateAndUpdateUser() {
        
        AutocreatedRegHandler1432826053915 handler = new AutocreatedRegHandler1432826053915 ();
        Auth.UserData sampleData = new Auth.UserData('testId', 'testFirst', 'testLast',
                                                     'testFirst testLast', 'testuse8888r@example.org', null, 'testuserlong', 'en_US', 'facebook',
                                                     null, new Map<String, String>{'language' => 'en_US'});
        try{
            User u = handler.createUser(null, sampleData);
            
            // insert(u);
            //String uid = u.id;
            
            sampleData = new Auth.UserData('testNewId', 'testNewFirst', 'testNewLast',
                                           'testNewFirst testNewLast', 'testnewuser@example.org', null, 'testnewuserlong', 'en_US', 'facebook',
                                           null, new Map<String, String>{});
            handler.updateUser(null, null, sampleData);
        }catch(Exception e){
            
        }
        // User updatedUser = [SELECT userName, email, firstName, lastName, alias FROM user WHERE id=:uid];
        
    }
}

 

All Answers

Raj VakatiRaj Vakati
@isTest
private class AutocreatedRegHandler1432826053915Test {
static testMethod void testCreateAndUpdateUser() {
    AutocreatedRegHandler1432826053915 handler = new AutocreatedRegHandler1432826053915 ();
    Auth.UserData sampleData = new Auth.UserData('testId', 'testFirst', 'testLast',
        'testFirst testLast', 'testuser@example.org', null, 'testuserlong', 'en_US', 'facebook',
        null, new Map<String, String>{'language' => 'en_US'});
    User u = handler.createUser(null, sampleData);
     
    insert(u);
    String uid = u.id;
    
    sampleData = new Auth.UserData('testNewId', 'testNewFirst', 'testNewLast',
        'testNewFirst testNewLast', 'testnewuser@example.org', null, 'testnewuserlong', 'en_US', 'facebook',
        null, new Map<String, String>{});
    handler.updateUser(uid, null, sampleData);
    
    User updatedUser = [SELECT userName, email, firstName, lastName, alias FROM user WHERE id=:uid];
     
}
}

 
HTANIRSHTANIRS
Hi Raj,

Thanks for your reply. I am getting below error.

Class.AutocreatedRegHandler1432826053915.createUser: line 4, column 1
Class.AutocreatedRegHandler1432826053915Test.testCreateAndUpdateUser: line 8, column 1

Thanks.
Raj VakatiRaj Vakati
@isTest
private class AutocreatedRegHandler1432826053915Test {
    static testMethod void testCreateAndUpdateUser() {
        
        AutocreatedRegHandler1432826053915 handler = new AutocreatedRegHandler1432826053915 ();
        Auth.UserData sampleData = new Auth.UserData('testId', 'testFirst', 'testLast',
                                                     'testFirst testLast', 'testuse8888r@example.org', null, 'testuserlong', 'en_US', 'facebook',
                                                     null, new Map<String, String>{'language' => 'en_US'});
        try{
            User u = handler.createUser(null, sampleData);
            
            // insert(u);
            //String uid = u.id;
            
            sampleData = new Auth.UserData('testNewId', 'testNewFirst', 'testNewLast',
                                           'testNewFirst testNewLast', 'testnewuser@example.org', null, 'testnewuserlong', 'en_US', 'facebook',
                                           null, new Map<String, String>{});
            handler.updateUser(null, null, sampleData);
        }catch(Exception e){
            
        }
        // User updatedUser = [SELECT userName, email, firstName, lastName, alias FROM user WHERE id=:uid];
        
    }
}

 
This was selected as the best answer
HTANIRSHTANIRS
Hi Raj,

Thanks for your reply. This is working. Could you please help in solving the below error I got when testing the code.

REGISTRATION_HANDLER_ERROR: Attempt to de-reference a null object.

Thanks.