You need to sign in to do that
Don't have an account?
Sunil Kumar 545
using test class...this code have to implement in @isTest ..how to do can anyone help this code?
@RestResource(urlMapping='/PortalUser/*')
Global Class rolesException extends Exception {
@HttpPost
global static String CreateNewUser()
{
RestRequest req = RestContext.request;
System.debug('RestRequest___: '+ req);
RestResponse res = RestContext.response;
System.debug('RestResponse___: '+ res);
Blob b = req.Requestbody;
Wrapperclss reg = rolesException.parse(b.tostring());
Savepoint sp = Database.setSavepoint();
Try{
if(reg.firstname==null || reg.firstname=='')
{
throw new rolesException ('enter firstname');
}
if(reg.lastname==null || reg.lastname=='')
{
throw new rolesException ('enter lastname');
}
//if(Pattern.matches('[a-zA-Z0-9._-]+@[a-zA-Z]+.[a-zA-Z]{2,4}',reg.Email))
//{
// throw new rolesException ('Please enter valid emailid');
//}
if(reg.role==null || reg.role=='')
{
throw new rolesException('role is required');
}
/*list<contact> sr =[SELECT lastName, Role__c from Contact where Role__c=:reg.Role];
system.debug('enter@@@'+sr);
if(sr.size()<=0)
{
throw new rolespostportalException('role is requiredee');
}*/
list<Role__c>role=[select Name,Type__c from Role__c where type__c =:reg.Role];
system.debug('Enter__'+role);
if(role[0].type__c == 'Manager')
{
List<Contact> con = [SELECT Id, Name FROM Contact WHERE accountId=:reg.AccountID AND Role__c=:role[0].Id];
if(con.size()>0)
{
throw new rolesException('Manager already exist');
}
}
if(reg.username!=null || reg.username!='')
{
List<User> u = [SELECT username FROM User WHERE username =:reg.username];
if(u.size()>0)
{
throw new rolesException('User already exist');
}
}
Contact C1 = new Contact( AccountID =reg.AccountID, firstName = reg.Firstname, lastName =reg.lastname ,email =reg.Email, role__c = role[0].id);
insert C1;
User newUser = new User();
newUser.Username =reg.username;
newUser.LastName = reg.lastname;
newUser.Firstname = reg.Firstname;
newUser.Email = reg.Email;
newUser.ContactId =C1.id ;
newUser.Alias =reg.Alias;
newUser.TimeZoneSidKey = reg.TimeZoneSidKey;
newUser.LocaleSidKey = reg.LocaleSidKey;
newUser.EmailEncodingKey = reg.EmailEncodingKey;
newUser.LanguageLocaleKey = reg.LanguageLocaleKey;
newUser.CommunityNickname= reg.CommunityNickname;
newUser.ProfileId= reg.ProfileId;
insert newUser;
return 'User Created! Id Is: ' + newUser.Id;
}
catch(Exception e)
{
Database.rollback( sp );
system.debug('error____:enter valid ID'+e);
return e.getMessage();
}
}
global static Wrapperclss parse(string reg)
{
return(Wrapperclss)System.json.deserialize(reg,Wrapperclss.class);
}
global class Wrapperclss
{
global String username{get;set;}
global String Firstname{get;set;}
global String LastName{get;set;}
global String Email{get;set;}
global String ContactId{get;set;}
global String Role{get;set;}
global String Alias{get;set;}
global String TimeZoneSidKey{get;set;}
global String EmailEncodingKey{get;set;}
global String LanguageLocaleKey{get;set;}
global String LocaleSidKey{get;set;}
global String CommunityNickname{get;set;}
global String ProfileId{get;set;}
global String AccountID{get;set;}
}
}
Global Class rolesException extends Exception {
@HttpPost
global static String CreateNewUser()
{
RestRequest req = RestContext.request;
System.debug('RestRequest___: '+ req);
RestResponse res = RestContext.response;
System.debug('RestResponse___: '+ res);
Blob b = req.Requestbody;
Wrapperclss reg = rolesException.parse(b.tostring());
Savepoint sp = Database.setSavepoint();
Try{
if(reg.firstname==null || reg.firstname=='')
{
throw new rolesException ('enter firstname');
}
if(reg.lastname==null || reg.lastname=='')
{
throw new rolesException ('enter lastname');
}
//if(Pattern.matches('[a-zA-Z0-9._-]+@[a-zA-Z]+.[a-zA-Z]{2,4}',reg.Email))
//{
// throw new rolesException ('Please enter valid emailid');
//}
if(reg.role==null || reg.role=='')
{
throw new rolesException('role is required');
}
/*list<contact> sr =[SELECT lastName, Role__c from Contact where Role__c=:reg.Role];
system.debug('enter@@@'+sr);
if(sr.size()<=0)
{
throw new rolespostportalException('role is requiredee');
}*/
list<Role__c>role=[select Name,Type__c from Role__c where type__c =:reg.Role];
system.debug('Enter__'+role);
if(role[0].type__c == 'Manager')
{
List<Contact> con = [SELECT Id, Name FROM Contact WHERE accountId=:reg.AccountID AND Role__c=:role[0].Id];
if(con.size()>0)
{
throw new rolesException('Manager already exist');
}
}
if(reg.username!=null || reg.username!='')
{
List<User> u = [SELECT username FROM User WHERE username =:reg.username];
if(u.size()>0)
{
throw new rolesException('User already exist');
}
}
Contact C1 = new Contact( AccountID =reg.AccountID, firstName = reg.Firstname, lastName =reg.lastname ,email =reg.Email, role__c = role[0].id);
insert C1;
User newUser = new User();
newUser.Username =reg.username;
newUser.LastName = reg.lastname;
newUser.Firstname = reg.Firstname;
newUser.Email = reg.Email;
newUser.ContactId =C1.id ;
newUser.Alias =reg.Alias;
newUser.TimeZoneSidKey = reg.TimeZoneSidKey;
newUser.LocaleSidKey = reg.LocaleSidKey;
newUser.EmailEncodingKey = reg.EmailEncodingKey;
newUser.LanguageLocaleKey = reg.LanguageLocaleKey;
newUser.CommunityNickname= reg.CommunityNickname;
newUser.ProfileId= reg.ProfileId;
insert newUser;
return 'User Created! Id Is: ' + newUser.Id;
}
catch(Exception e)
{
Database.rollback( sp );
system.debug('error____:enter valid ID'+e);
return e.getMessage();
}
}
global static Wrapperclss parse(string reg)
{
return(Wrapperclss)System.json.deserialize(reg,Wrapperclss.class);
}
global class Wrapperclss
{
global String username{get;set;}
global String Firstname{get;set;}
global String LastName{get;set;}
global String Email{get;set;}
global String ContactId{get;set;}
global String Role{get;set;}
global String Alias{get;set;}
global String TimeZoneSidKey{get;set;}
global String EmailEncodingKey{get;set;}
global String LanguageLocaleKey{get;set;}
global String LocaleSidKey{get;set;}
global String CommunityNickname{get;set;}
global String ProfileId{get;set;}
global String AccountID{get;set;}
}
}
Hi Sunil,
I appreciate if you can try developing test class and post the errors rather than posting the whole apex class :)