You need to sign in to do that
Don't have an account?
Siddharth Lakhotia
How to solve error "DmlException: Update failed. First exception on row 0; first error: MISSING_ARGUMENT, Id not specified in an update call"
Hi,
I am facing the error mentioned in subject line , when trying to create a test class for a trigger. can somenone tell me , how do I solve this error
@isTest(SeeAllData = false)
public class OwnerIdchangeTest {
public static UserInformation__c userInfo;
static testmethod void OwnerIdChange()
{
userInfo = UserInformation__c.getOrgDefaults();
Profile p = [SELECT Id FROM Profile WHERE Name='Indonesia - Local Admin'];
User u = new User();
u.Alias = 'standt';
u.Email = 'standarduser@testorg.com';
u.EmailEncodingKey = 'UTF-8';
u.LastName = 'Testing';
u.LanguageLocaleKey = 'en_US';
u.LocaleSidKey = 'en_US';
u.ProfileId = p.Id;
u.TimeZoneSidKey = 'America/Los_Angeles';
u.Username = 'standar123456duser@testorg.com';
//u.Business_Unit__c = 'Weber';
//u.Case_Owner__c = True;
// insert u;
u.Business_Unit__c = 'Weber';
u.Case_Owner__c = True;
UserInformation__c UInfo = new UserInformation__c();
UInfo.Gypsum_User_Id__c = '0050k000000yLiy';
UInfo.Weber_User_Id__c = '0050k000000yLiy';
insert UInfo;
List <UserInformation__c> userInfoUpdate = new List<UserInformation__c>([select Id,Weber_User_Id__c,Gypsum_User_Id__c from UserInformation__c where Id =: UInfo.Id]);
Test.startTest();
for(UserInformation__c UI : userInfoUpdate)
{
UI.Weber_User_Id__c = u.Id;
userInfoUpdate.add(UI);
}
//u.Business_Unit__c = 'Weber';
//u.Case_Owner__c = True;
//update u;
update userInfoUpdate;
Test.stopTest();
}
/*static testmethod void ChangeOwnerId()
{
userInfo = UserInformation__c.getOrgDefaults();
Profile p = [SELECT Id FROM Profile WHERE Name='Indonesia - Local Admin'];
User u = new User();
u.Alias = 'standt';
u.Email = 'standarduser@testorg.com';
u.EmailEncodingKey = 'UTF-8';
u.LastName = 'Testing';
u.LanguageLocaleKey = 'en_US';
u.LocaleSidKey = 'en_US';
u.ProfileId = p.Id;
u.TimeZoneSidKey = 'America/Los_Angeles';
u.Username = 'standar123456duser@testorg.com';
//u.Business_Unit__c = 'Weber';
//u.Case_Owner__c = True;
insert u;
List <User> userlst = new List<User>([select Id,Business_Unit__c,Case_Owner__c from User where Id =: u.Id]);
List<User> lstUserUpdate = new List<User>();
Test.startTest();
for(User user: userlst)
{
user.Business_Unit__c = 'Gypsum';
user.Case_Owner__c = True;
user.Id = u.Id;
lstUserUpdate.add(user);
}
//u.Business_Unit__c = 'Weber';
//u.Case_Owner__c = True;
//update u;
update lstUserUpdate;
Test.stopTest();
}*/
}
I am facing the error mentioned in subject line , when trying to create a test class for a trigger. can somenone tell me , how do I solve this error
@isTest(SeeAllData = false)
public class OwnerIdchangeTest {
public static UserInformation__c userInfo;
static testmethod void OwnerIdChange()
{
userInfo = UserInformation__c.getOrgDefaults();
Profile p = [SELECT Id FROM Profile WHERE Name='Indonesia - Local Admin'];
User u = new User();
u.Alias = 'standt';
u.Email = 'standarduser@testorg.com';
u.EmailEncodingKey = 'UTF-8';
u.LastName = 'Testing';
u.LanguageLocaleKey = 'en_US';
u.LocaleSidKey = 'en_US';
u.ProfileId = p.Id;
u.TimeZoneSidKey = 'America/Los_Angeles';
u.Username = 'standar123456duser@testorg.com';
//u.Business_Unit__c = 'Weber';
//u.Case_Owner__c = True;
// insert u;
u.Business_Unit__c = 'Weber';
u.Case_Owner__c = True;
UserInformation__c UInfo = new UserInformation__c();
UInfo.Gypsum_User_Id__c = '0050k000000yLiy';
UInfo.Weber_User_Id__c = '0050k000000yLiy';
insert UInfo;
List <UserInformation__c> userInfoUpdate = new List<UserInformation__c>([select Id,Weber_User_Id__c,Gypsum_User_Id__c from UserInformation__c where Id =: UInfo.Id]);
Test.startTest();
for(UserInformation__c UI : userInfoUpdate)
{
UI.Weber_User_Id__c = u.Id;
userInfoUpdate.add(UI);
}
//u.Business_Unit__c = 'Weber';
//u.Case_Owner__c = True;
//update u;
update userInfoUpdate;
Test.stopTest();
}
/*static testmethod void ChangeOwnerId()
{
userInfo = UserInformation__c.getOrgDefaults();
Profile p = [SELECT Id FROM Profile WHERE Name='Indonesia - Local Admin'];
User u = new User();
u.Alias = 'standt';
u.Email = 'standarduser@testorg.com';
u.EmailEncodingKey = 'UTF-8';
u.LastName = 'Testing';
u.LanguageLocaleKey = 'en_US';
u.LocaleSidKey = 'en_US';
u.ProfileId = p.Id;
u.TimeZoneSidKey = 'America/Los_Angeles';
u.Username = 'standar123456duser@testorg.com';
//u.Business_Unit__c = 'Weber';
//u.Case_Owner__c = True;
insert u;
List <User> userlst = new List<User>([select Id,Business_Unit__c,Case_Owner__c from User where Id =: u.Id]);
List<User> lstUserUpdate = new List<User>();
Test.startTest();
for(User user: userlst)
{
user.Business_Unit__c = 'Gypsum';
user.Case_Owner__c = True;
user.Id = u.Id;
lstUserUpdate.add(user);
}
//u.Business_Unit__c = 'Weber';
//u.Case_Owner__c = True;
//update u;
update lstUserUpdate;
Test.stopTest();
}*/
}
GhanshyamChoudhari
Siddharth Lakhotia
it shows another error now..Method does not exist or incorrect signature: void add(String) from the type List<UserInformation__c>
Siddharth Lakhotia
Any help on this one. ?