Test class Factory design pattern
public class UtileTesClass {
/*-----setup data for user----*/
public Static User setupUser()
{
Profile prof = [select id from profile where name = 'System Administrator'];
User user = new User(alias = 'standt', email = 'my123_123@gmail.com', emailencodingkey = 'UTF-8',
lastname = 'Test', languagelocalekey = 'en_US', localesidkey = 'en_US',
profileid = prof.Id, timezonesidkey = 'America/Los_Angeles',
username = 'testuser_123@gmail.com');
insert user;
return user;
}
/*----------------Setup data for Account----*/
public static Account setupAccount(user MyMnger)
{
Account acc= new Account();
acc.Name='Test Account';
acc.ShippingStreet ='Royal Street';
acc.ShippingCity='London';
acc.ShippingState='UK';
acc.ShippingPostalCode ='123456';
acc.ShippingCountry='UK';
return acc;
}
/*----------------Setup data for Case ----*/
public static case setupCase(Account acc)
{
Case cs = new Case();
cs.status='Open';
cs.Subject='Demo Case';
cs.Origin='Email';
cs.AccountId = acc.id;
cs.Reason = 'Defects';
return cs;
}
}
------------------------------------------------- Test class --------------------------------------
@isTest(SeeAllData=false)
public class TestclassFactory{
static testmethod void testCCREscalations (){
User CCRUser = UtileTesClass.setupUser();
Test.startTest();
system.runAs(CCRUser) {
List<user> selectedusers = new List<User>();
String CommonError ='';
Integer ErrorFlag = 0;
// setup Account
Account account = UtileTesClass.setupAccount(CCRUser);
insert account;
List<account> listAccount = [select id,name from Account];
System.assertEquals(1, listAccount.size());
Case cas = UtileTesClass.setupCase(account);
insert cas;
}
Test.stopTest();
}
}
public class UtileTesClass {
/*-----setup data for user----*/
public Static User setupUser()
{
Profile prof = [select id from profile where name = 'System Administrator'];
User user = new User(alias = 'standt', email = 'my123_123@gmail.com', emailencodingkey = 'UTF-8',
lastname = 'Test', languagelocalekey = 'en_US', localesidkey = 'en_US',
profileid = prof.Id, timezonesidkey = 'America/Los_Angeles',
username = 'testuser_123@gmail.com');
insert user;
return user;
}
/*----------------Setup data for Account----*/
public static Account setupAccount(user MyMnger)
{
Account acc= new Account();
acc.Name='Test Account';
acc.ShippingStreet ='Royal Street';
acc.ShippingCity='London';
acc.ShippingState='UK';
acc.ShippingPostalCode ='123456';
acc.ShippingCountry='UK';
return acc;
}
/*----------------Setup data for Case ----*/
public static case setupCase(Account acc)
{
Case cs = new Case();
cs.status='Open';
cs.Subject='Demo Case';
cs.Origin='Email';
cs.AccountId = acc.id;
cs.Reason = 'Defects';
return cs;
}
}
------------------------------------------------- Test class --------------------------------------
@isTest(SeeAllData=false)
public class TestclassFactory{
static testmethod void testCCREscalations (){
User CCRUser = UtileTesClass.setupUser();
Test.startTest();
system.runAs(CCRUser) {
List<user> selectedusers = new List<User>();
String CommonError ='';
Integer ErrorFlag = 0;
// setup Account
Account account = UtileTesClass.setupAccount(CCRUser);
insert account;
List<account> listAccount = [select id,name from Account];
System.assertEquals(1, listAccount.size());
Case cas = UtileTesClass.setupCase(account);
insert cas;
}
Test.stopTest();
}
}