public void CreateActivityRun() { var personType = CodeNameResolver.GetTypeByName("AA_Person").As <EntityType>(); const string createdRecordArgKey = "Record"; var createActivity = new CreateActivity(); createActivity.Save(); ToDelete.Add(createActivity.Id); var nextActivity = (CreateImplementation)createActivity.As <WfActivity>().CreateWindowsActivity(); var inputs = new Dictionary <string, object> { { "Object", personType } }; IDictionary <string, object> result = RunActivity(nextActivity, inputs); Assert.AreEqual(2, result.Count, "There are two results, and exit point + a value"); Assert.IsTrue(result.ContainsKey(createdRecordArgKey)); var resourceId = (IEntity)result[createdRecordArgKey]; ToDelete.Add(resourceId.Id); var person = Entity.Get(resourceId.Id); Assert.IsNotNull(person, "We have a person"); }
//[Ignore("This test is the same as the failing intg workflow tests '610' and '620' due to the enforcement of cardinality. The problem is that the assignment of a relationship is not clearing the old relationship if the cardinality does not permit it.")] public void ReassignReportDuringManagerCreate() { var aaManager = CodeNameResolver.GetTypeByName("AA_Manager").As <EntityType>(); var reportsTo = Entity.Get <Relationship>(new EntityRef("test:reportsTo")); var oldMgr = new Entity(aaManager); oldMgr.Save(); ToDelete.Add(oldMgr.Id); var employee1 = CreateEmployee(oldMgr, reportsTo); var employee2 = CreateEmployee(oldMgr, reportsTo); var createActivity = new CreateActivity(); createActivity.InputArguments.Add(new ResourceArgument { Name = "1" }.Cast <ActivityArgument>()); createActivity.InputArguments.Add(new ResourceArgument { Name = "1_value_" }.Cast <ActivityArgument>()); createActivity.InputArguments.Add(new BoolArgument { Name = "1_reverse" }.Cast <ActivityArgument>()); createActivity.InputArguments.Add(new BoolArgument { Name = "1_replace" }.Cast <ActivityArgument>()); createActivity.Save(); ToDelete.Add(createActivity.Id); var nextActivity = (CreateImplementation)createActivity.As <WfActivity>().CreateWindowsActivity(); var inputs = new Dictionary <string, object> { { "Object", aaManager }, { "1_value_", new List <Entity>() { employee1, employee2 } }, { "1", reportsTo }, { "1_reverse", true }, { "1_replace", true } }; RunActivity(nextActivity, inputs); }
public void Bug_25770_AssigningWithNull() { var aaManager = CodeNameResolver.GetTypeByName("AA_Manager").As <EntityType>(); var reportsTo = Entity.Get <Relationship>(new EntityRef("test:reportsTo")); var createActivity = new CreateActivity(); createActivity.InputArguments.Add(new ResourceArgument { Name = "1" }.Cast <ActivityArgument>()); createActivity.InputArguments.Add(new ResourceArgument { Name = "1_value_" }.Cast <ActivityArgument>()); createActivity.InputArguments.Add(new BoolArgument { Name = "1_reverse" }.Cast <ActivityArgument>()); createActivity.InputArguments.Add(new BoolArgument { Name = "1_replace" }.Cast <ActivityArgument>()); createActivity.Save(); ToDelete.Add(createActivity.Id); var nextActivity = (CreateImplementation)createActivity.As <WfActivity>().CreateWindowsActivity(); var inputs = new Dictionary <string, object> { { "Object", aaManager }, { "1_value_", new List <Entity>() { null } // NULL (This was a side effect of a problem in the expression engine) }, { "1", reportsTo }, { "1_reverse", true }, { "1_replace", true } }; RunActivity(nextActivity, inputs); }