public void AddDestinationVersionFieldsTest() { // Arrange. var vm = new ExpressionDesignerWindowViewModelBase(); var accessor = new PrivateAccessor(vm); var processInfo = Mock.Create<PublishedProcessInfo>(); Mock.Arrange(() => processInfo.ProcessOption).Returns(ProcessOption.VersionEnabled); var destination = new DestinationFieldList(); // Act. accessor.CallMethod("AddVersionFields", processInfo, destination); // Assert. Assert.AreEqual(3, destination.Fields.Count); var versionNumber = destination.Fields.FirstOrDefault(f => f.SystemName == Constants.VersionNumber); var versionDate = destination.Fields.FirstOrDefault(f => f.SystemName == Constants.VersionDate); var versionMasterId = destination.Fields.FirstOrDefault(f => f.SystemName == Constants.VersionMasterId); Assert.IsNotNull(versionNumber); Debug.Assert(versionNumber != null, "versionNumber != null"); Assert.AreEqual(NodeDataType.String, versionNumber.DataType); Assert.AreEqual(Constants.VersionNumberName, versionNumber.Name); Assert.AreEqual(Constants.VersionNumber, versionNumber.InnerName); Assert.AreEqual(Constants.VersionNumber, versionNumber.SystemName); Assert.IsNotNull(versionDate); Debug.Assert(versionDate != null, "versionDate != null"); Assert.AreEqual(NodeDataType.DateTime, versionDate.DataType); Assert.AreEqual("Version Date", versionDate.Name); Assert.AreEqual(Constants.VersionDate, versionDate.InnerName); Assert.AreEqual(Constants.VersionDate, versionDate.SystemName); Assert.IsNotNull(versionMasterId); Debug.Assert(versionMasterId != null, "versionMasterId != null"); Assert.AreEqual(NodeDataType.Int, versionMasterId.DataType); Assert.AreEqual("Version Master Id", versionMasterId.Name); Assert.AreEqual(Constants.VersionMasterId, versionMasterId.InnerName); Assert.AreEqual(Constants.VersionMasterId, versionMasterId.SystemName); }
public void AddSourceVersionFieldsFromPublishedProcessInfoTest() { // Arrange. const string ObjectName = "testObject"; const string SetName = "TestItem"; var vm = new ExpressionDesignerWindowViewModelBase(); var accessor = new PrivateAccessor(vm); var process1 = Mock.Create<PublishedProcessInfo>(); Mock.Arrange(() => process1.ProcessOption).Returns(ProcessOption.VersionEnabled); var process2 = Mock.Create<PublishedProcessInfo>(); Mock.Arrange(() => process2.ProcessOption).Returns(ProcessOption.None); var source1 = new SourceFieldList(); var source2 = new SourceFieldList(); // Act. accessor.CallMethod("AddVersionFields", process1, source1, ObjectName, SetName); accessor.CallMethod("AddVersionFields", process2, source2, ObjectName, SetName); // Assert. Assert.AreEqual(3, source1.Fields.Count); var versionNumber = source1.Fields.FirstOrDefault(f => f.SystemName == Constants.VersionNumber); var versionDate = source1.Fields.FirstOrDefault(f => f.SystemName == Constants.VersionDate); var versionMasterId = source1.Fields.FirstOrDefault(f => f.SystemName == Constants.VersionMasterId); Assert.IsNotNull(versionNumber); Debug.Assert(versionNumber != null, "versionNumber != null"); Assert.AreEqual(NodeDataType.String, versionNumber.DataType); Assert.AreEqual(Constants.VersionNumberName, versionNumber.Name); Assert.AreEqual(Constants.VersionNumber, versionNumber.InnerName); Assert.AreEqual(Constants.VersionNumber, versionNumber.SystemName); Assert.AreEqual(SetName, versionNumber.SetName); Assert.AreEqual(ObjectName, versionNumber.ObjectName); Assert.IsNotNull(versionDate); Debug.Assert(versionDate != null, "versionDate != null"); Assert.AreEqual(NodeDataType.DateTime, versionDate.DataType); Assert.AreEqual("Version Date", versionDate.Name); Assert.AreEqual(Constants.VersionDate, versionDate.InnerName); Assert.AreEqual(Constants.VersionDate, versionDate.SystemName); Assert.AreEqual(SetName, versionDate.SetName); Assert.AreEqual(ObjectName, versionDate.ObjectName); Assert.IsNotNull(versionMasterId); Debug.Assert(versionMasterId != null, "versionMasterId != null"); Assert.AreEqual(NodeDataType.Int, versionMasterId.DataType); Assert.AreEqual("Version Master Id", versionMasterId.Name); Assert.AreEqual(Constants.VersionMasterId, versionMasterId.InnerName); Assert.AreEqual(Constants.VersionMasterId, versionMasterId.SystemName); Assert.AreEqual(SetName, versionMasterId.SetName); Assert.AreEqual(ObjectName, versionMasterId.ObjectName); Assert.AreEqual(0, source2.Fields.Count); }
public void AddLastModifiedOnField4() { var vm = new ExpressionDesignerWindowViewModelBase(); var privateAccessor = new PrivateAccessor(vm); var source = new SourceFieldList(); privateAccessor.CallMethod("AddLastModifiedOnField", source, "oldItem", SourceFieldSetNames.Item); var lastModifiedOnFieldIsAdded = source.Fields.Any(f => f.SystemName == Constants.LastModifiedOn); Assert.IsTrue(lastModifiedOnFieldIsAdded); }
public void CreateSystemParametersItemAsyncTest() { // Arrange. const string UniqueName = "TestItem"; var guid1 = new Guid("{E52FF2B3-1665-4975-92E6-80C80A441E89}"); var guid2 = new Guid("{8F00D58C-9260-48F7-B2A9-1DC8340FB766}"); var intParam = Mock.Create<SystemParametersEdit>(); Mock.Arrange(() => intParam.Name).Returns("Int Param"); Mock.Arrange(() => intParam.SystemName).Returns("IntParam"); Mock.Arrange(() => intParam.Type).Returns(SystemParameterType.Int); Mock.Arrange(() => intParam.Guid).Returns(guid1); var stringParam = Mock.Create<SystemParametersEdit>(); Mock.Arrange(() => stringParam.Name).Returns("String Param"); Mock.Arrange(() => stringParam.SystemName).Returns("StringParam"); Mock.Arrange(() => stringParam.Type).Returns(SystemParameterType.String); Mock.Arrange(() => stringParam.Guid).Returns(guid2); var parameterRetriever = Mock.Create<ISystemParameterList>(Behavior.Loose); Mock.Arrange(() => parameterRetriever.GetSystemParametersAsync()) .Returns(TaskEx.FromResult<IList<SystemParametersEdit>>(new[] { intParam, stringParam })); var vm = new ExpressionDesignerWindowViewModelBase { SystemParametersList = parameterRetriever }; var accessor = new PrivateAccessor(vm); // Act. var task = (Task<SourceFieldList>)accessor.CallMethod("CreateSystemParametersItemAsync", UniqueName); // Assert. Assert.IsNotNull(task); Assert.IsTrue(task.IsCompleted); var item = task.Result; Assert.IsNotNull(item); Assert.AreEqual(UniqueName, item.UniqueName); Assert.AreEqual("System Parameters", item.ExpressionName); Assert.AreEqual(2, item.Fields.Count); var intField = item.Fields.First(f => f.Name == "Int Param"); Assert.AreEqual(NodeDataType.Int, intField.DataType); Assert.AreEqual("Int Param", intField.Name); Assert.AreEqual("Utils.SystemParameter<int?>(\"IntParam\")", intField.SystemName); Assert.AreEqual(guid1.ToString(), intField.UniqueName); var stringField = item.Fields.First(f => f.Name == "String Param"); Assert.AreEqual(NodeDataType.String, stringField.DataType); Assert.AreEqual("String Param", stringField.Name); Assert.AreEqual("Utils.SystemParameter<string>(\"StringParam\")", stringField.SystemName); Assert.AreEqual(guid2.ToString(), stringField.UniqueName); }
public void CreateUserInfoSourceItemTest() { // Arrange. const string UniqueName = "TestItem"; var vm = new ExpressionDesignerWindowViewModelBase(); var accessor = new PrivateAccessor(vm); // Act. var item = (SourceFieldList)accessor.CallMethod("CreateUserInfoSourceItem", UniqueName); // Assert. Assert.IsNotNull(item); Assert.AreEqual(UniqueName, item.UniqueName); Assert.AreEqual("Current User Information", item.ExpressionName); Assert.AreEqual(12, item.Fields.Count); var userNameField = item.Fields.First(f => f.SystemName == "Utils.CurrentUserName"); Assert.AreEqual(NodeDataType.String, userNameField.DataType); Assert.AreEqual("User Name", userNameField.Name); Assert.AreEqual(SourceFieldSetNames.CurrentUserInfo, userNameField.SetName); Assert.AreEqual("Utils.CurrentUserName", userNameField.SystemName); var fullNameField = item.Fields.First(f => f.SystemName == "Utils.CurrentUserFullName"); Assert.AreEqual(NodeDataType.String, fullNameField.DataType); Assert.AreEqual("Full Name", fullNameField.Name); Assert.AreEqual(SourceFieldSetNames.CurrentUserInfo, fullNameField.SetName); Assert.AreEqual("Utils.CurrentUserFullName", fullNameField.SystemName); var personIdField = item.Fields.First(f => f.SystemName == "Utils.CurrentUserPersonId"); Assert.AreEqual(NodeDataType.Int, personIdField.DataType); Assert.AreEqual("Person ID", personIdField.Name); Assert.AreEqual(SourceFieldSetNames.CurrentUserInfo, personIdField.SetName); Assert.AreEqual("Utils.CurrentUserPersonId", personIdField.SystemName); var emailAddressField = item.Fields.First(f => f.SystemName == "Utils.CurrentUserEmailAddress"); Assert.AreEqual(NodeDataType.String, emailAddressField.DataType); Assert.AreEqual("Email Address", emailAddressField.Name); Assert.AreEqual(SourceFieldSetNames.CurrentUserInfo, emailAddressField.SetName); Assert.AreEqual("Utils.CurrentUserEmailAddress", emailAddressField.SystemName); var firstNameField = item.Fields.First(f => f.SystemName == "Utils.CurrentUserFirstName"); Assert.AreEqual(NodeDataType.String, firstNameField.DataType); Assert.AreEqual("First Name", firstNameField.Name); Assert.AreEqual(SourceFieldSetNames.CurrentUserInfo, firstNameField.SetName); Assert.AreEqual("Utils.CurrentUserFirstName", firstNameField.SystemName); var lastNameField = item.Fields.First(f => f.SystemName == "Utils.CurrentUserLastName"); Assert.AreEqual(NodeDataType.String, lastNameField.DataType); Assert.AreEqual("Last Name", lastNameField.Name); Assert.AreEqual(SourceFieldSetNames.CurrentUserInfo, lastNameField.SetName); Assert.AreEqual("Utils.CurrentUserLastName", lastNameField.SystemName); var businessUnitIdField = item.Fields.First(f => f.SystemName == "Utils.CurrentUserBusinessUnitId"); Assert.AreEqual(NodeDataType.Int, businessUnitIdField.DataType); Assert.AreEqual("Business Unit Id", businessUnitIdField.Name); Assert.AreEqual(SourceFieldSetNames.CurrentUserInfo, businessUnitIdField.SetName); Assert.AreEqual("Utils.CurrentUserBusinessUnitId", businessUnitIdField.SystemName); var businessUnitField = item.Fields.First(f => f.SystemName == "Utils.CurrentUserBusinessUnit"); Assert.AreEqual(NodeDataType.String, businessUnitField.DataType); Assert.AreEqual("Business Unit", businessUnitField.Name); Assert.AreEqual(SourceFieldSetNames.CurrentUserInfo, businessUnitField.SetName); Assert.AreEqual("Utils.CurrentUserBusinessUnit", businessUnitField.SystemName); var localeField = item.Fields.First(f => f.SystemName == "Utils.CurrentUserLocale"); Assert.AreEqual(NodeDataType.String, localeField.DataType); Assert.AreEqual("Locale", localeField.Name); Assert.AreEqual(SourceFieldSetNames.CurrentUserInfo, localeField.SetName); Assert.AreEqual("Utils.CurrentUserLocale", localeField.SystemName); }
public void AddDestinationStateFieldsFromPublishedProcessInfoTest() { // Arrange. var process1 = Mock.Create<PublishedProcessInfo>(); Mock.Arrange(() => process1.IsStateEnabled).Returns(false); var process2 = Mock.Create<PublishedProcessInfo>(); Mock.Arrange(() => process2.IsStateEnabled).Returns(true); var fields1 = new DestinationFieldList(); var fields2 = new DestinationFieldList(); var vm = new ExpressionDesignerWindowViewModelBase(); var accessor = new PrivateAccessor(vm); // Act. accessor.CallMethod("AddStateFields", process1, fields1); accessor.CallMethod("AddStateFields", process2, fields2); // Assert. Assert.AreEqual(0, fields1.Fields.Count); Assert.AreEqual(2, fields2.Fields.Count); var currentStateField = fields2.Fields.First(f => f.SystemName == Constants.CurrentStateColumnName); Assert.AreEqual(NodeDataType.String, currentStateField.DataType); Assert.AreEqual(Constants.CurrentStateDisplayName, currentStateField.Name); Assert.AreEqual(Constants.CurrentStateColumnName, currentStateField.SystemName); Assert.AreEqual(Constants.CurrentStateColumnName, currentStateField.InnerName); Assert.IsTrue(string.IsNullOrEmpty(currentStateField.SetName)); var stateModifiedOnField = fields2.Fields.First(f => f.SystemName == Constants.StateModifiedColumnName); Assert.AreEqual(NodeDataType.DateTime, stateModifiedOnField.DataType); Assert.AreEqual(Constants.StateModifiedDisplayName, stateModifiedOnField.Name); Assert.AreEqual(Constants.StateModifiedColumnName, stateModifiedOnField.SystemName); Assert.AreEqual(Constants.StateModifiedColumnName, stateModifiedOnField.InnerName); Assert.IsTrue(string.IsNullOrEmpty(stateModifiedOnField.SetName)); }
public void AddIdFieldsFromPublishedProcessInfoTest() { // Arrange. const string ObjectName = "testObject"; const string SetName = "TestItem"; var vm = new ExpressionDesignerWindowViewModelBase(); var accessor = new PrivateAccessor(vm); var baseProcess = Mock.Create<PublishedProcessInfo>(); Mock.Arrange(() => baseProcess.BaseProcess).Returns((PublishedProcessInfo)null); var derivedProcess = Mock.Create<PublishedProcessInfo>(); Mock.Arrange(() => derivedProcess.BaseProcess).Returns(baseProcess); var baseFields = new SourceFieldList(); var derivedFields = new SourceFieldList(); // Act. accessor.CallMethod("AddIdFields", baseProcess, baseFields, ObjectName, SetName); accessor.CallMethod("AddIdFields", derivedProcess, derivedFields, ObjectName, SetName); // Assert. //Assert.AreEqual(1, baseFields.Fields.Count); //var idField = baseFields.Fields.First(f => f.SystemName == Constants.IdColumnName); //Assert.AreEqual(NodeDataType.Int, idField.DataType); //Assert.AreEqual("Id", idField.Name); //Assert.AreEqual(Constants.IdColumnName, idField.SystemName); //Assert.AreEqual(Constants.IdColumnName, idField.InnerName); //Assert.AreEqual(SetName, idField.SetName); //Assert.AreEqual(ObjectName, idField.ObjectName); Assert.AreEqual(1, derivedFields.Fields.Count); //idField = derivedFields.Fields.First(f => f.SystemName == Constants.IdColumnName); var baseIdField = derivedFields.Fields.First(f => f.SystemName == Constants.BaseIdColumnName); //Assert.AreEqual(NodeDataType.Int, idField.DataType); //Assert.AreEqual("Id", idField.Name); //Assert.AreEqual(Constants.IdColumnName, idField.SystemName); //Assert.AreEqual(Constants.IdColumnName, idField.InnerName); //Assert.AreEqual(SetName, idField.SetName); //Assert.AreEqual(ObjectName, idField.ObjectName); Assert.AreEqual(NodeDataType.Int, baseIdField.DataType); Assert.AreEqual("Base Id", baseIdField.Name); Assert.AreEqual(Constants.BaseIdColumnName, baseIdField.SystemName); Assert.AreEqual(Constants.BaseIdColumnName, baseIdField.InnerName); Assert.AreEqual(SetName, baseIdField.SetName); Assert.AreEqual(ObjectName, baseIdField.ObjectName); }