Advertisement
Guest User

Untitled

a guest
Jul 26th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. trigger RecordOwnerChange on user (after update){
  2. if (trigger.isafter & trigger.isupdate){
  3.  
  4. List<Id> recordIds = new List<Id>();
  5.  
  6. List<account> aclst = [select id, ownerid, owner.isActive, owner.Managerid from Account where OwnerId IN:trigger.new];
  7. for (Account ac: aclst){
  8. if (ac.owner.isActive == false && ac.owner.managerid != null){
  9. recordIds.add(ac.id);
  10. }
  11. }
  12. if(!recordIds.isEmpty()){
  13. RecordOwnerChange_4Handler.updateaccounts(recordIds);
  14. }
  15.  
  16. CLASS:
  17. public class RecordOwnerChangeHandler {
  18. @future
  19. public static void updateaccounts(List<Id> recordIds){
  20. List<Account> updateacclist = new List<Account>();
  21. for (Account ac:[select ownerid, owner.Managerid from Account where Id IN:recordIds]){
  22. ac.ownerid= ac.owner.managerid;
  23. updateacclist.add(ac);
  24. }
  25. if(updateacclist.size()>0){
  26. update updateacclist ;
  27. }}}
  28.  
  29. @IsTest
  30. public class testclassownerassignmanager{
  31. static testmethod void metest(){
  32.  
  33. User u = new User(
  34. Alias = 'testu',
  35. Email = 'test@example.com',
  36. EmailEncodingKey = 'UTF-8',
  37. LastName = 'Test',
  38. LanguageLocaleKey = 'en_US',
  39. LocaleSidKey = 'en_US',
  40. TimeZoneSidKey='America/Los_Angeles',
  41. ProfileId = 'Salesforce',
  42. UserName='test@example.com',Managerid='Test Admin');
  43.  
  44. account a = new account(Name='Test');
  45. a.ownerid = u.id;
  46. insert a;
  47.  
  48. if (u.isactive == false && u.managerid!=null)
  49.  
  50. {
  51. a.ownerid=u.managerid;
  52. }
  53. update a;
  54. test.starttest();
  55. if (Test.isRunningTest()) {
  56. System.runAs(new User(Id = Userinfo.getUserId())) {
  57. update a;
  58. }
  59. } else {
  60. update a;
  61. }
  62. test.stoptest();
  63.  
  64. }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement