Can someone help me, I will write for the first time unit tests for the workflow on CRM, i found some help here,
using CodeActivityGenus; using Microsoft.QualityTools.Testing.Fakes; using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Fakes; using Microsoft.Xrm.Sdk.Workflow; using Microsoft.Xrm.Sdk.Workflow.Fakes; using System; using System.Activities; using System.Diagnostics; namespace UnitTestProject1 { [TestClass] public class CustomActivityCancelSingleOrderLineTest { [TestMethod] public void TestCustomActivityCancelSingleOrderLine() { using (ShimsContext.Create()) { // Stub IOrganization Service object var service = new StubIOrganizationService(); // Stub WorkflowContext Service object var workflowContext = new StubIWorkflowContext(); // Stub TracingService Service object var tracingService = new StubITracingService(); // Stub IOrganization Service Factory object var factory = new StubIOrganizationServiceFactory(); // Set up context var workflowUserId = Guid.NewGuid(); var orderLineRef = new EntityReference("salesorderdetail", Guid.NewGuid()); // Set up context methods workflowContext.UserIdGet = () => workflowUserId; // ITracingService tracingService.TraceStringObjectArray = (f, o) => { Debug.WriteLine(f, o); }; // IOrganizationServiceFactory factory.CreateOrganizationServiceNullableOfGuid = id => { return service; }; // Add your specific context setup here if needed // Create an instance of your code activity var customActivity = new CustomActivityCancelSingleOrderLine(); // Set the inputs for the activity customActivity.inOrderLine = orderLineRef; // Execute the code activity customActivity.Execute(new CodeActivityContext { WorkflowContext = workflowContext, TracingService = tracingService, ExecutionContext = new FakeLocalWorkflowExecutionContext(), }); // Add your assertions here to verify the behavior of your code activity // For example, you can use service.Assert... methods to check service interactions. // Example assertion: service.AssertMethod(service.UpdateEntityReferenceColumnSetOfEntity = (entityRef, colSet, entity) => { // Verify that the Update method was called with the expected parameters Assert.AreEqual("salesorderdetail", entityRef.LogicalName); Assert.AreEqual(orderLineRef.Id, entityRef.Id); Assert.AreEqual(100000005, entity.GetAttributeValue<OptionSetValue>("genus_portalorderstatus").Value); }); } } } }
but i dont know which nuget i need to install, because i have a lot of errors in this code