public void EmailQueueMembers_1_Member_Without_Owner_0_Existing_2011() { //Arrange XrmFakedWorkflowContext workflowContext = new XrmFakedWorkflowContext(); Guid id = Guid.NewGuid(); Entity email = new Entity("email") { Id = id, ["activityid"] = id, ["to"] = new EntityCollection() }; Entity queue = new Entity("queue") { Id = Guid.NewGuid(), ["ownerid"] = new EntityReference("systemuser", Guid.NewGuid()) }; Entity systemUser = new Entity("systemuser") { Id = Guid.NewGuid(), ["isdisabled"] = false }; Guid id2 = Guid.NewGuid(); Entity queueMembership = new Entity("queuemembership") { Id = id2, ["queuemembership"] = id2, ["systemuserid"] = systemUser.Id, ["queueid"] = queue.Id }; var inputs = new Dictionary <string, object> { { "EmailToSend", email.ToEntityReference() }, { "RecipientQueue", queue.ToEntityReference() }, { "IncludeOwner", false }, { "SendEmail", false } }; XrmFakedContext xrmFakedContext = new XrmFakedContext(); xrmFakedContext.Initialize(new List <Entity> { email, queue, systemUser, queueMembership }); var fakeRetrieveVersionRequestExecutor = new FakeRetrieveVersionRequestExecutor(true); xrmFakedContext.AddFakeMessageExecutor <RetrieveVersionRequest>(fakeRetrieveVersionRequestExecutor); const int expected = 1; //Act var result = xrmFakedContext.ExecuteCodeActivity <EmailQueueMembers>(workflowContext, inputs); //Assert Assert.AreEqual(expected, result["UsersAdded"]); }
public void EmailQueueMembers_No_Members_Without_Owner_1_Existing() { //Arrange XrmFakedWorkflowContext workflowContext = new XrmFakedWorkflowContext(); Guid id = Guid.NewGuid(); Entity email = new Entity("email") { Id = id, ["activityid"] = id }; Guid id2 = Guid.NewGuid(); Entity activityParty = new Entity("activityparty") { Id = id2, ["activitypartyid"] = id2, ["activityid"] = email.ToEntityReference(), ["partyid"] = new EntityReference("contact", Guid.NewGuid()), ["participationtypemask"] = new OptionSetValue(2) }; EntityCollection to = new EntityCollection(); to.Entities.Add(activityParty); email["to"] = to; Entity queue = new Entity("queue") { Id = Guid.NewGuid(), ["ownerid"] = new EntityReference("systemuser", Guid.NewGuid()) }; var inputs = new Dictionary <string, object> { { "EmailToSend", email.ToEntityReference() }, { "RecipientQueue", queue.ToEntityReference() }, { "IncludeOwner", false }, { "SendEmail", false } }; XrmFakedContext xrmFakedContext = new XrmFakedContext(); xrmFakedContext.Initialize(new List <Entity> { email, activityParty, queue }); var fakeRetrieveVersionRequestExecutor = new FakeRetrieveVersionRequestExecutor(false); xrmFakedContext.AddFakeMessageExecutor <RetrieveVersionRequest>(fakeRetrieveVersionRequestExecutor); const int expected = 1; //Act var result = xrmFakedContext.ExecuteCodeActivity <EmailQueueMembers>(workflowContext, inputs); //Assert Assert.AreEqual(expected, result["UsersAdded"]); }