[SalesForce] Apex Test class (Field is not writeable: CampaignMember.RecordTypeId)

I really am not sure what I am doing wrong here but I am being thrown the error I am doing exactly what I have read to do on stackoverflow and in the SF docs. Any ideas?:

Field is not writeable: CampaignMember.RecordTypeId (Line: 7, Column: 11)

@isTest
private class TestCampaignMemberTrigger {
    @isTest
    static void test_method_one() {
        CampaignMember cmPhone = new CampaignMember();
        Id phone = Schema.SObjectType.CampaignMember.getRecordTypeInfosByName().get('Fundraising_Dinners').getRecordTypeId();
        cmPhone.RecordTypeId=phone;
    }   
}

Best Answer

Documentation about RecordTypeId field on CampaignMember says:

ID of the record type assigned to this object. To change the record type, modify the CampaignMemberRecordTypeId field on the associated Campaign.

so you can't assign record type to CampaignMember record in this way. Select related Campaign and change CampaignMemberRecordTypeId field

Related Topic