function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Anand JeevakanAnand 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
Michael VerhovskiMichael Verhovski
Which one is the line 19? 
Anand JeevakanAnand Jeevakan
The issue was resolved when included user record insert inside the runas().