First error: INVALID_CROSS_REFERENCE_KEY, Assigned To ID: owner cannot be blank: [OwnerId]

Ritesh Mehandiratta picture Ritesh Mehandiratta · Feb 14, 2013 · Viewed 10.8k times · Source

I am writing a test for my controller. For that I have to insert an event in the test database.

My test method is:

static TestMethod void Test1_TestInsertWithValue()
{
    Meeting_Master__c master = new Meeting_Master__c();
    Event event = new Event();
    Profile p = [SELECT Id From Profile WHERE Name='Standard User'];
    User u2 = new User(Alias = 'newUser', Email = '[email protected]', EmailEncodingKey = 'UTF-8', LastName = 'Testing',
    LanguageLocaleKey = 'en_US', LocaleSidKey='America/Los_Angeles', UserName='[email protected]', ProfileId=p.Id);

    event.OwnerId = u2.Id;
    event.StartDateTime = datetime.newInstance(2008, 12, 1);
    event.EndDateTime = datetime.newInstance(2008, 12, 30);
    event.subject = 'call';
    event.WhatId = master.Id;
    insert master;
    insert event;
    ...........
}

When the insert event occurs, I am facing this error:

System.DmlException: Insert failed. First exception on row 0; first error: INVALID_CROSS_REFERENCE_KEY, Assigned To ID: owner cannot be blank: [OwnerId]

How do I rectify this error?

Answer

Shimshon Korits picture Shimshon Korits · Feb 14, 2013

You forgot to insert u2 before the line event.OwnerId =u2.Id;.