5

I am writing a test class. When i run my test class i am getting an error

System.DmlException: Insert failed. First exception on row 0; first error:   REQUIRED_FIELD_MISSING, Required fields are missing: [Name]: [Name]
Class.TestCVFC_productToInstalledItems.TestCVFC_productToInstalledItems: line 20, column 1

but my code contains the name field

    Opportunity opp = new Opportunity();
    opp.Name = 'OppName';
    opp.Accountid = ac.id;        
    opp.Copy_Account_BA_to_SA__c = true;
    opp.Street__c = 'OppAddress';
    opp.StageName = 'Qualification';
    opp.CloseDate = date.today();
    insert opp;

insert opp is on the line no 20.

5

It seems likely that there is an insert trigger on Opportunity that is trying to insert another record.

Check for any triggers on Opportunities.

You can look in the debug log that gets created when the test is run to see what is occurring. With a sufficient logging level on the database you should see the record being inserted.

3

I agree with Daniel on checking for triggers doing some other sort of insert.

However, if you are positive that the error is with the Opportunity that you are inserting, I suggest taking a look at any workflow rules. You may have a workflow rule that is setting required fields to blank for some reason.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.