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
MikeCloudMikeCloud 

Trigger Code and Test Help on Project when an Opp field = Yes

I have a custom object Project_Milestone1__c, I want to trigger a new Project when an Opportunity custom field picklist - Start_Project_Site_Id_Stage__c  = Yes, I can't get my test to pass?  Here id my TRIGGER and TEST

 

CODE

 

trigger CreateM1Project on Opportunity (after insert, after update) {
    
    
   List<Milestone1_Project__c> NewProjects = new List<Milestone1_Project__c>();

    for (Opportunity opp: trigger.new)  {
        
        if (opp.Start_Project_Site_Id_Stage__c == 'Yes') {
        
            Milestone1_Project__c freshProject = new Milestone1_Project__c();
            freshProject.Name = opp.Name;
            freshProject.Opportunity__c = opp.Id;
        }
    }
    insert NewProjects;
        
   }

 

 

TEST

 

@IsTest(SeeAllData=false)
public class CreateM1Project_test{

static testMethod void myTestMethod() {

Opportunity opp =new Opportunity(Name='Test',StageNAme='Closed Won',CloseDate=system.today(),Start_Project_Site_Id_Stage__c='Yes');

insert opp;


}
}

 

levaleva

couple of changes

trigger CreateM1Project on Opportunity (after insert, after update) {
     
   List<Milestone1_Project__c> NewProjects = new List<Milestone1_Project__c>();

    for (Opportunity opp: trigger.new)  {
        
        if (opp.Start_Project_Site_Id_Stage__c == 'Yes') {
        
            Milestone1_Project__c freshProject = new Milestone1_Project__c();
            freshProject.Name = opp.Name;
            freshProject.Opportunity__c = opp.Id;
            NewProjects.add(freshProject);
        }
    }
    insert NewProjects;
        
}

 

 

TEST

 

@IsTest(SeeAllData=false)
public class CreateM1Project_test{

	static testMethod void myTestMethod() {

		Opportunity opp =
			new Opportunity(Name='Test',
					StageNAme='Closed Won',
					CloseDate=system.today(),
					Start_Project_Site_Id_Stage__c='Yes');

		Test.startTest();
 	  		insert opp;
    		Test.stopTest();

	}
}

 

MikeCloudMikeCloud

I did the changes test still failed, I have the trigger setup, the class test setup what am I missing?

VaasuVaasu
what error u r getting?
MikeCloudMikeCloud

System.DmlException: Insert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, CreateM1Project: execution of AfterInsert

caused by: System.DmlException: Insert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, ProjectMilestone: execution of AfterInsert

caused by: System.DmlException: Update failed. First exception on row 0; first error: MISSING_ARGUMENT, Id not specified in an update call: []

Trigger.ProjectMilestone: line 16, column 1: []

Trigger.CreateM1Project: line 16, column 1: [] Stack Trace Class.CreateM1Project_test.myTestMethod: line 14, column 1

MikeCloudMikeCloud

ERROR?

 

System.DmlException: Insert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, CreateM1Project: execution of AfterInsert

caused by: System.DmlException: Insert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, ProjectMilestone: execution of AfterInsert

caused by: System.DmlException: Update failed. First exception on row 0; first error: MISSING_ARGUMENT, Id not specified in an update call: []

Trigger.ProjectMilestone: line 16, column 1: []

Trigger.CreateM1Project: line 16, column 1: [] Stack Trace Class.CreateM1Project_test.myTestMethod: line 14, column 1