I am trying to create a user in a test class and this user needs to be a Chatter Free License. Usertype is the field to set the license but this one is not writable.
Any pointers on creating a user with a specific license type?
Attribution to: Prady
Possible Suggestion/Solution #1
The license isn't actually connected to the user, but depends on the profile you assign your user. If you create a user with the Chatter Free User profile, the usertype will be set to Chatter free.
5.0 APEX_CODE,DEBUG
Execute Anonymous: Profile p = [SELECT id, Name FROM Profile where name = 'Chatter Free User' ].get(0);
Execute Anonymous:
Execute Anonymous: User u = new User(firstname= 'Samuel',
Execute Anonymous: lastname='De Rycke',
Execute Anonymous: Alias='Samuel',
Execute Anonymous: email = 'nospamplz@absi.be',
Execute Anonymous: username= 'nospamplz@absi.be',
Execute Anonymous: profileId= p.id,
Execute Anonymous: emailencodingkey='UTF-8',
Execute Anonymous: languagelocalekey='en_US',
Execute Anonymous: localesidkey='en_US',
Execute Anonymous: timezonesidkey='America/Los_Angeles');
Execute Anonymous: insert u;
Execute Anonymous:
Execute Anonymous: u = [select usertype from user where id =:u.id];
Execute Anonymous:
Execute Anonymous: system.debug('--------------------------->User.UserType:'+u.usertype);
13:15:05.040 (40786000)|EXECUTION_STARTED
13:15:05.040 (40800000)|CODE_UNIT_STARTED|[EXTERNAL]|execute_anonymous_apex
13:15:05.769 (769888000)|USER_DEBUG|[17]|DEBUG|--------------------------->User.UserType:CsnOnly
13:15:05.820 (820554000)|CODE_UNIT_FINISHED|execute_anonymous_apex
13:15:05.820 (820567000)|EXECUTION_FINISHED
The CsnOnly type will display as the Chatter Free User License in salesforce.com.
Attribution to: Samuel De Rycke
This content is remixed from stackoverflow or stackexchange. Please visit https://salesforce.stackexchange.com/questions/1303