You need to sign in to do that
Don't have an account?
Staci
Test method help with hard coding Ids
I've got a test method that I have hard coded a few Ids(Record Type, User and Account) into (I'm not very good at writing these). I need to dynamically assign these but at a loss as to how.
If I try to create a new user, there are fields that are required that I can't find field names for. Accounts when we create them are big to-do's so I wouldn't even know where to begin to create that in a test method and then record types, again at a loss. Can someone please help me? I have google searched some examples for the user but my test run fails saying the user is invalid.
Here's my test method. Any help would be greatly appreciated!
If I try to create a new user, there are fields that are required that I can't find field names for. Accounts when we create them are big to-do's so I wouldn't even know where to begin to create that in a test method and then record types, again at a loss. Can someone please help me? I have google searched some examples for the user but my test run fails saying the user is invalid.
Here's my test method. Any help would be greatly appreciated!
@isTest private class CW_Validations_Status_UpdatesTest { static testMethod void CWStatusValidationTest() { Profile p = [SELECT Id FROM Profile WHERE Name='CW MineStar Support - Tier 2']; User u1 = new User(Alias = 'standt', Email='standarduser@testorg.com', EmailEncodingKey='UTF-8', LastName='Testing', LanguageLocaleKey='en_US', LocaleSidKey='en_US', ProfileId = p.Id, TimeZoneSidKey='America/Los_Angeles', UserName='stacitestuser@testorg.com'); insert u1; //creates a case record Case cs1 = new Case(); cs1.RecordTypeId = '01230000000v4Ss'; cs1.AccountId = '00119000003QPkD'; cs1.OwnerId = 'u1'; cs1.Reason = 'Incident'; cs1.CW_Type__c = 'Product Support'; cs1.Impact__c = 'Site Production Down'; cs1.Urgency__c = 'Normal'; cs1.Status = 'Closed - Resolved'; cs1.Resolution_Detail__c = 'This case is resolved'; cs1.Defect_Type_Multi__c = 'Hardware'; cs1.Subject = 'This is my case'; cs1.Description = 'This is my description'; cs1.Incident_Start__c=Date.today(); cs1.Product__c = 'Fleet'; cs1.Application__c = '--'; cs1.Subsystem__c = 'Office'; cs1.Component__c = 'Database'; insert cs1; cs1.Status = 'Closed - Duplicate'; cs1.Resolution_Detail__c = 'This case is a duplicate of 1234'; update cs1; cs1.Status = 'Closed - Declined'; cs1.Resolution_Detail__c = 'This case has been declined by development'; cs1.Declined_Reason__c = 'Product is end of life'; cs1.Defect_Type_Multi__c = 'Hardware'; update cs1; cs1.Status = 'Pending - Change'; cs1.Resolution_Detail__c = 'This case is awaiting a change'; cs1.Change_Number__c = 'aadsfaf23432'; cs1.Change_Tracking_Link__c = 'http://www.yahoo.com'; update cs1; cs1.Status = 'Closed - No Response'; cs1.Resolution_Detail__c = 'This is closing no response'; cs1.Defect_Type_Multi__c = 'Hardware'; update cs1; cs1.Status = 'Closed - Cancelled'; cs1.Resolution_Detail__c = 'This case is being cancelled, no longer needed'; update cs1; cs1.Status = 'Closed - Unable to Reproduce'; cs1.Resolution_Detail__c = 'Closing case as we are not able to reproduce issue'; update cs1; cs1.Status = 'Pending - RCA'; cs1.Workaround_ICA__c = 'This is a workaround'; update cs1; cs1.Status = 'Pending - Dealer Validation'; cs1.Workaround_ICA__c = 'This is a workaround'; update cs1; cs1.Status = 'Pending - Customer Validation'; cs1.Workaround_ICA__c = 'This is a workaround'; update cs1; cs1.Status = 'Pending - NPI'; cs1.Workaround_ICA__c = 'This is a workaround'; cs1.NPI_Numbertext__c = 'fwefw2e3fr2w'; cs1.NPI_Tracking_Link__c = 'http://www.yahoo.com'; update cs1; cs1.Status = 'Pending - CPI'; cs1.Workaround_ICA__c = 'This is a workaround'; cs1.CPI_Numbertext__c = '232r2df23'; cs1.CPI_Tracking_Link__c = 'http://www.yahoo.com'; update cs1; cs1.Status = 'Recurring Incident'; cs1.Resolution_Detail__c = 'This is recurring incident'; cs1.ParentId = '50019000000dXO9'; update cs1; cs1.Status = 'Pending - Evaluation'; cs1.Resolution_Detail__c = 'This is recurring incident'; update cs1; } static testMethod void CWUserValidationTest() { //creates a case record, Owner Tier 2 Peoria user Case cs2 = new Case(); cs2.RecordTypeId = '01230000000uzis'; cs2.AccountId = '00119000003QPkD'; cs2.Reason = 'Incident'; cs2.CW_Type__c = 'Product Support'; cs2.Impact__c = 'Site Production Down'; cs2.Urgency__c = 'Normal'; cs2.Product__c = 'Fleet'; cs2.Application__c = '--'; cs2.Subsystem__c = 'Office'; cs2.Status = 'New'; cs2.Subject = 'This is my case'; cs2.Description = 'This is my description'; cs2.Incident_Start__c=Date.today(); cs2.OwnerId = 'u1'; insert cs2; //updates owner to T3 Americas user cs2.OwnerId = 'u2'; update cs2; //updates owner to T2 APD user cs2.OwnerId = 'u1'; update cs2; //creates a case record, Owner Tier 2 queue Case cs3 = new Case(); cs3.RecordTypeId = '01230000000uzis'; cs3.AccountId = '00119000003QPkD'; cs3.Reason = 'Incident'; cs3.CW_Type__c = 'Product Support'; cs3.Impact__c = 'Site Production Down'; cs3.Urgency__c = 'Normal'; cs3.Product__c = 'Fleet'; cs3.Application__c = '--'; cs3.Subsystem__c = 'Office'; cs3.Status = 'New'; cs3.Subject = 'This is my case'; cs3.Description = 'This is my description'; cs3.Incident_Start__c=Date.today(); cs3.OwnerId = '00G30000001oUSL'; insert cs3; //update owner to T3 queue cs3.OwnerId = '00G30000002jFoz'; update cs3; //creates a case record, Owner Tier 2 queue Case cs4 = new Case(); cs4.RecordTypeId = '01230000000uzis'; cs4.AccountId = '00119000003QPkD'; cs4.Reason = 'Incident'; cs4.CW_Type__c = 'Product Support'; cs4.Impact__c = 'Site Production Down'; cs4.Urgency__c = 'Normal'; cs4.Product__c = 'Fleet'; cs4.Application__c = '--'; cs4.Subsystem__c = 'Office'; cs4.Status = 'New'; cs4.Subject = 'This is my case'; cs4.Description = 'This is my description'; cs4.Incident_Start__c=Date.today(); cs4.OwnerId = '00G30000001oUSL'; insert cs4; //update user to T2 user cs4.OwnerId = 'u1'; update cs4; //creates a case record, Owner Tier 2 user Case cs1 = new Case(); cs1.RecordTypeId = '01230000000uzis'; cs1.AccountId = '00119000003QPkD'; cs1.Reason = 'Incident'; cs1.CW_Type__c = 'Product Support'; cs1.Impact__c = 'Site Production Down'; cs1.Urgency__c = 'Normal'; cs1.Product__c = 'Fleet'; cs1.Application__c = '--'; cs1.Subsystem__c = 'Office'; cs1.Status = 'New'; cs1.Subject = 'This is my case'; cs1.Description = 'This is my description'; cs1.Incident_Start__c=Date.today(); cs1.OwnerId = 'u1'; insert cs1; //updates owner to T3 queue cs1.OwnerId = '00G30000002jFoz'; update cs1; //creates a case record, Owner is T2 queue Case cs8 = new Case(); cs8.RecordTypeId = '01230000000uzis'; cs8.AccountId = '00119000003QPkD'; cs8.Reason = 'Incident'; cs8.CW_Type__c = 'Product Support'; cs8.Impact__c = 'Site Production Down'; cs8.Urgency__c = 'Normal'; cs8.Product__c = 'Fleet'; cs8.Application__c = '--'; cs8.Subsystem__c = 'Office'; cs8.Status = 'New'; cs8.Subject = 'This is my case'; cs8.Description = 'This is my description'; cs8.Incident_Start__c=Date.today(); cs8.OwnerId = '00G30000001oUSL'; insert cs8; //update user to T3 user cs8.OwnerId = '00530000004CgXz'; update cs8; } static testMethod void CWSubStatusUpdateTest(){ //creates a case record, T2 User is Owner Case cs1 = new Case(); cs1.AccountId = '00119000003QPkD'; cs1.OwnerId = 'u1'; cs1.Reason = 'Incident'; cs1.CW_Type__c = 'Product Support'; cs1.Impact__c = 'Site Production Down'; cs1.Urgency__c = 'Normal'; cs1.Status = 'New'; cs1.Subject = 'This is my case'; cs1.Description = 'This is my description'; cs1.Incident_Start__c=Date.today(); cs1.Product__c = 'Fleet'; cs1.Application__c = '--'; cs1.Subsystem__c = 'Office'; insert cs1; //change owner to Dealer user cs1.OwnerId = '00519000000Ikmj'; update cs1; //creates a case record, T2 queue as Owner Case cs2 = new Case(); cs2.AccountId = '00119000003QPkD'; cs2.OwnerId = '00G30000001oUSL'; cs2.Reason = 'Incident'; cs2.CW_Type__c = 'Product Support'; cs2.Impact__c = 'Site Production Down'; cs2.Urgency__c = 'Normal'; cs2.Status = 'New'; cs2.Subject = 'This is my case'; cs2.Description = 'This is my description'; cs2.Incident_Start__c=Date.today(); cs2.Product__c = 'Fleet'; cs2.Application__c = '--'; cs2.Subsystem__c = 'Office'; insert cs2; //change owner to T2 user cs2.OwnerId = 'usr1'; update cs2; //creates a case record, CW Admin queue as Owner Case cs3 = new Case(); cs3.AccountId = '00119000003QPkD'; cs3.OwnerId = '00G30000002ljqO'; cs3.Reason = 'Incident'; cs3.CW_Type__c = 'Product Support'; cs3.Impact__c = 'Site Production Down'; cs3.Urgency__c = 'Normal'; cs3.Status = 'New'; cs3.Subject = 'This is my case'; cs3.Description = 'This is my description'; cs3.Incident_Start__c=Date.today(); cs3.Product__c = 'Fleet'; cs3.Application__c = '--'; cs3.Subsystem__c = 'Office'; insert cs3; //changes user to CW Admin user cs3.OwnerId = '005a0000007VK2P'; update cs3; //creates a case record, T2 as Owner Case cs5 = new Case(); cs5.AccountId = '00119000003QPkD'; cs5.OwnerId = 'u1'; cs5.Reason = 'Incident'; cs5.CW_Type__c = 'Product Support'; cs5.Impact__c = 'Site Production Down'; cs5.Urgency__c = 'Normal'; cs5.Status = 'New'; cs5.Subject = 'This is my case'; cs5.Description = 'This is my description'; cs5.Incident_Start__c=Date.today(); cs5.Product__c = 'Fleet'; cs5.Application__c = '--'; cs5.Subsystem__c = 'Office'; insert cs5; //change case owner to customer user cs5.OwnerId = '00519000000Jnwt'; update cs5; //creates a case record, T2 user as Owner Case cs6 = new Case(); cs6.AccountId = '00119000003QPkD'; cs6.OwnerId = 'u1'; cs6.Reason = 'Incident'; cs6.CW_Type__c = 'Product Support'; cs6.Impact__c = 'Site Production Down'; cs6.Urgency__c = 'Normal'; cs6.Status = 'New'; cs6.Subject = 'This is my case'; cs6.Description = 'This is my description'; cs6.Incident_Start__c=Date.today(); cs6.Product__c = 'Fleet'; cs6.Application__c = '--'; cs6.Subsystem__c = 'Office'; insert cs6; //change case owner to T3 user cs6.OwnerId = 'u2'; update cs6; //creates a case record, T2 user as Owner Case cs7 = new Case(); cs7.AccountId = '00119000003QPkD'; cs7.OwnerId = 'u1'; cs7.Reason = 'Incident'; cs7.CW_Type__c = 'Product Support'; cs7.Impact__c = 'Site Production Down'; cs7.Urgency__c = 'Normal'; cs7.Status = 'Closed - Resolved'; cs7.Subject = 'This is my case'; cs7.Description = 'This is my description'; cs7.Incident_Start__c=Date.today(); cs7.Product__c = 'Fleet'; cs7.Application__c = '--'; cs7.Subsystem__c = 'Office'; cs7.Component__c = 'Client'; cs7.Resolution_Detail__c = 'this is the resolution detail'; cs7.Defect_Type_Multi__c = 'Configuration'; insert cs7; }}
Id qId=[select id,name from group where type='Queue' and name='YOUR_QUEUE_NAME'].id;
Id rtId=[select id,name from recordtype where name='RECORD_TYPE_NAME'].id;
Kindly mark this as Solved if your queries are answered
All Answers
User u=[select id,alias from user where alias='YOUR_USER_ALIAS' limit 1];
I see that you are asssigning owner as cs1.OwnerId = 'u1'; Surrounding u1 with single quotes makes it a string where as u1 is an object and you can access its id like u1.id.So syntax is as below
cs1.OwnerId = u1.id;
You can use annotation @isTest(SeeAllData=true) if you want to use data that is already existing in the organization.
You can read following links for better understanding of test classes
https://developer.salesforce.com/page/An_Introduction_to_Apex_Code_Test_Methods
https://www.salesforce.com/us/developer/docs/apexcode/Content/apex_testing_tools_runas.htm
Id qId=[select id,name from group where type='Queue' and name='YOUR_QUEUE_NAME'].id;
Id rtId=[select id,name from recordtype where name='RECORD_TYPE_NAME'].id;
Kindly mark this as Solved if your queries are answered