Advertisement
Guest User

TestRetrieveNextUtils

a guest
Nov 3rd, 2014
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.13 KB | None | 0 0
  1.  @istest
  2.  public class TestRetrieveNextUtils {
  3.     public static Group createTestGroup()
  4.     {
  5.         Group g = new Group(Type='Queue',Name='testRetrieveNextCase');
  6.         insert g;
  7.        
  8.         //Make this queue assignable to leads and cases
  9.         List<QueueSobject> qs = new List<QueueSobject>();
  10.         qs.add(new QueueSobject(QueueId=g.Id,SObjectType='Case'));
  11.         qs.add(new QueueSobject(QueueId=g.Id,SObjectType='Lead'));        
  12.         insert qs;
  13.        
  14.         return g;
  15.     }
  16.    
  17.     public static User createTestUser() {
  18.         User user = new User();
  19.         user.Username = 'test'+System.currentTimeMillis()+'@RetrieveNextUtils.com';
  20.         user.LastName = 'LastTestName';
  21.         user.Email = 'test@RetrieveNextUtils.com';
  22.         user.alias = 'testAl';
  23.         user.TimeZoneSidKey = 'America/New_York';
  24.         user.LocaleSidKey = 'en_US';
  25.         user.EmailEncodingKey = 'ISO-8859-1';
  26.         user.ProfileId = [select id from Profile where Name='System Administrator'].Id;
  27.         user.LanguageLocaleKey = 'en_US';
  28.         insert user;
  29.         //setUser(user);
  30.        
  31.         return user;
  32.      }
  33.    
  34.     public static testMethod void testRetrieveNextLead()
  35.     {        
  36.       User u = createTestUser();
  37.      
  38.         Group g = createTestGroup();
  39.        
  40.         GroupMember gm = new GroupMember(UserOrGroupId=u.Id,GroupId=g.Id);
  41.         insert gm;
  42.        
  43.         Test.startTest();        
  44.        
  45.         //We have to runAs so that we don't get a MIXED_DML_EXCEPTION
  46.         System.runAs(u) {
  47.           Lead l = new Lead(LastName='Test',OwnerId=g.Id,Company='Test');
  48.           insert l;
  49.          
  50.           Id leadId = retrieveNextLead(u.Id);
  51.           System.assertEquals(leadId,l.Id);
  52.          
  53.           Lead ownedLead = [select OwnerId from Lead where Id=:l.Id];
  54.           System.assertEquals(ownedLead.OwnerId,u.Id);
  55.         }
  56.     }
  57.        
  58.    
  59.     public static testMethod void testNegativeRetrieveNextLead()
  60.     {      
  61.       User u = createTestUser();
  62.        
  63.         Group g = createTestGroup();
  64.        
  65.         Test.startTest();  
  66.        
  67.         //We have to runAs so that we don't get a MIXED_DML_EXCEPTION
  68.         System.runAs(u) {
  69.           //Do not insert this user in the queue -- he should not get the case
  70.          
  71.           Lead l = new Lead(LastName='Test',OwnerId=g.Id,Company='Test');
  72.           insert l;
  73.          
  74.           Id leadId = retrieveNextLead(u.Id);
  75.           System.assertEquals(leadId,null);
  76.          
  77.           Lead ownedLead = [select OwnerId from Lead where Id=:l.Id];
  78.           System.assertNotEquals(ownedLead.OwnerId,u.Id);
  79.         }
  80.     }
  81.    
  82.     public static testMethod void testRetrieveNextCase()
  83.     {    
  84.       User u = createTestUser();
  85.        
  86.         Group g = createTestGroup();
  87.        
  88.         GroupMember gm = new GroupMember(UserOrGroupId=u.Id,GroupId=g.Id);
  89.         insert gm;
  90.        
  91.         Test.startTest();  
  92.         //We have to runAs so that we don't get a MIXED_DML_EXCEPTION
  93.         System.runAs(u) {
  94.           Case c = new Case(Subject='Test',OwnerId=g.Id);
  95.           insert c;
  96.          
  97.           Id caseId = retrieveNextCase(u.Id);
  98.           System.assertEquals(caseId,c.Id);
  99.          
  100.           Case ownedCase = [select OwnerId from Case where Id=:c.Id];
  101.           System.assertEquals(ownedCase.OwnerId,u.Id);
  102.         }
  103.     }
  104.        
  105.    
  106.     public static testMethod void testNegativeRetrieveNextCase()
  107.     {    
  108.       User u = createTestUser();
  109.                
  110.         Group g = createTestGroup();
  111.        
  112.         Test.startTest();  
  113.        
  114.         //We have to runAs so that we don't get a MIXED_DML_EXCEPTION
  115.         System.runAs(u) {
  116.          
  117.           //Do not insert this user in the queue -- he should not get the case
  118.           Case c = new Case(Subject='Test',OwnerId=g.Id);
  119.           insert c;
  120.          
  121.           Id caseId = retrieveNextCase(u.Id);
  122.           System.assertEquals(caseId,null);
  123.          
  124.           Case ownedCase = [select OwnerId from Case where Id=:c.Id];
  125.           System.assertNotEquals(ownedCase.OwnerId,u.Id);
  126.         }
  127.     }
  128.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement