You need to sign in to do that
Don't have an account?
Anand Jeevakan
Test class Deployment error:
I'm trying to deploy a batch apex and its test class. Everything works fine in dev and I get 93% coverage. When I try to deploy, I get:
Error:
Failure Message: "System.DmlException: Insert failed. First exception on row 0; first error: INVALID_CROSS_REFERENCE_KEY, invalid cross reference id: []", Failure Stack Trace: "Class.testPrimaryCommunityUser.testPrimaryCommunityUser: line 19, column 1"
Test Class Code:
@isTest
private class testBatchLeadPrimaryCommunityUser {
static testMethod void testBatchLeadPrimaryCommunityUser(){
Group testGroup = new Group(Name = 'Queue', Type = 'Queue');
insert testGroup;
QueueSObject testQueue = new QueueSObject(QueueID = testGroup.id, SobjectType = 'Lead');
insert testQueue;
Profile p = [SELECT Id FROM Profile WHERE Name='System Administrator'];
User userobj = new User();
//userobj.IsActive = True;
userobj.Username = 'fivestarsitetesting12ka4@config-5sqc.cs9.force.com';
userobj.LastName = 'Site Guest 12ka4';
userobj.Email = 'doug.ricks12ka4@lansdalegroup.com';
userobj.Alias = '12ka4';
userobj.CommunityNickname = 'FiveStarSite123';
userobj.TimeZoneSidKey = 'GMT';
userobj.LocaleSidKey = 'en_US';
userobj.EmailEncodingKey = 'ISO-8859-1';
userobj.ProfileId = p.Id;
userobj.LanguageLocaleKey = 'en_US';
insert userobj;
System.runAs ( userobj ) {
Account acc = new Account();
acc.Name = 'New Account';
acc.Primary_Community_User__c = userobj.Id;
acc.RecordTypeId = (Schema.SObjectType.account.getRecordTypeInfosByName().get('Five Star Community').getRecordTypeId());
insert acc;
Date startDate = Date.newInstance(2000, 1, 1);
Lead led = new Lead();
led.ownerId = testGroup.Id;
led.LeadSource = 'Advertising - Cable Television';
led.Inquirer_First_Name__c = 'fname';
led.Inquirer_Last_Name__c = 'lname';
led.Inquirer_Relationship_To_Prospect__c = 'Friend';
led.Community__c = acc.Id;
led.LastName = 'LastName';
led.Status = 'Pending Qualification';
led.Inquiry_Date__c = startDate;
insert led;
//Start Test
Test.startTest();
BatchLeadPrimaryCommunityUser exeBatch = new BatchLeadPrimaryCommunityUser(100);
Database.executeBatch(exeBatch);
Test.stopTest();
}
}
}
Please help
Error:
Failure Message: "System.DmlException: Insert failed. First exception on row 0; first error: INVALID_CROSS_REFERENCE_KEY, invalid cross reference id: []", Failure Stack Trace: "Class.testPrimaryCommunityUser.testPrimaryCommunityUser: line 19, column 1"
Test Class Code:
@isTest
private class testBatchLeadPrimaryCommunityUser {
static testMethod void testBatchLeadPrimaryCommunityUser(){
Group testGroup = new Group(Name = 'Queue', Type = 'Queue');
insert testGroup;
QueueSObject testQueue = new QueueSObject(QueueID = testGroup.id, SobjectType = 'Lead');
insert testQueue;
Profile p = [SELECT Id FROM Profile WHERE Name='System Administrator'];
User userobj = new User();
//userobj.IsActive = True;
userobj.Username = 'fivestarsitetesting12ka4@config-5sqc.cs9.force.com';
userobj.LastName = 'Site Guest 12ka4';
userobj.Email = 'doug.ricks12ka4@lansdalegroup.com';
userobj.Alias = '12ka4';
userobj.CommunityNickname = 'FiveStarSite123';
userobj.TimeZoneSidKey = 'GMT';
userobj.LocaleSidKey = 'en_US';
userobj.EmailEncodingKey = 'ISO-8859-1';
userobj.ProfileId = p.Id;
userobj.LanguageLocaleKey = 'en_US';
insert userobj;
System.runAs ( userobj ) {
Account acc = new Account();
acc.Name = 'New Account';
acc.Primary_Community_User__c = userobj.Id;
acc.RecordTypeId = (Schema.SObjectType.account.getRecordTypeInfosByName().get('Five Star Community').getRecordTypeId());
insert acc;
Date startDate = Date.newInstance(2000, 1, 1);
Lead led = new Lead();
led.ownerId = testGroup.Id;
led.LeadSource = 'Advertising - Cable Television';
led.Inquirer_First_Name__c = 'fname';
led.Inquirer_Last_Name__c = 'lname';
led.Inquirer_Relationship_To_Prospect__c = 'Friend';
led.Community__c = acc.Id;
led.LastName = 'LastName';
led.Status = 'Pending Qualification';
led.Inquiry_Date__c = startDate;
insert led;
//Start Test
Test.startTest();
BatchLeadPrimaryCommunityUser exeBatch = new BatchLeadPrimaryCommunityUser(100);
Database.executeBatch(exeBatch);
Test.stopTest();
}
}
}
Please help
Michael Verhovski
Which one is the line 19?
Anand Jeevakan
The issue was resolved when included user record insert inside the runas().