public void InitializeTest() { var actionManagerVM = Mock.Create<ActionManagerViewModel>(); var actionItemInfo = new ActionItemInfo(123, "ProcessName", "7FA27365-AF0A-4F98-A927-368D21A8175A", 321, "Name", "Subject", "Message", ActionTypes.Approval, "GroupName", new DateTime(2012, 1, 16), true, false); var vm = new ActionItemViewModel(); var changedProperties = new List<string>(); vm.PropertyChanged += (o, e) => changedProperties.Add(e.PropertyName); var dynamicManagerMock = Mock.Create<IDynamicTypeManager>(); Mock.Arrange(() => dynamicManagerMock.BeginGetEditableRoot(Constants.ActionItemsProcessName, 1, Arg.IsAny<Action<object, DataPortalResult<IEditableRoot>>>())) .DoInstead<string, int, Action<object, DataPortalResult<IEditableRoot>>>( (processName, id, callback) => { var result = new DataPortalResult<IEditableRoot>(null, null, null); callback(null, result); }); vm.DynamicManager = dynamicManagerMock; vm.Initialize(actionItemInfo, actionManagerVM); Assert.AreSame(actionItemInfo, vm.Model); Assert.AreSame(actionManagerVM, vm.ParentViewModel); Assert.AreEqual(actionItemInfo.Subject, vm.Subject); Assert.AreEqual(actionItemInfo.Message, vm.Description); Assert.AreEqual(actionItemInfo.GroupName, vm.GroupName); Assert.AreEqual(actionItemInfo.DueDate, vm.DueDate); Assert.AreEqual(actionItemInfo.IsActionNew, vm.IsActionNew); Assert.IsTrue(changedProperties.Contains("Model")); Assert.IsTrue(changedProperties.Contains("AcknowledgeVisible")); Assert.IsTrue(changedProperties.Contains("AcknowledgeCollapse")); Assert.IsTrue(changedProperties.Contains("Subject")); Assert.IsTrue(changedProperties.Contains("Description")); Assert.IsTrue(changedProperties.Contains("GroupName")); Assert.IsTrue(changedProperties.Contains("DueDate")); Assert.IsTrue(changedProperties.Contains("IsLate")); Assert.IsTrue(changedProperties.Contains("IsActionNew")); }
public void Constructor_whenCalled_InitializeDueDate() { var actionItemInfo = new ActionItemInfo(Id, ProcessName, ActionGuid, ItemId, Name, Subject, Message, ActionType, GroupName, _dueDate, IsActionNew, IsNotification); Assert.AreEqual(_dueDate, actionItemInfo.DueDate); }
public void PropertiesTest() { var actionItemInfo = new ActionItemInfo(Id, ProcessName, ActionGuid, ItemId, Name, Subject, Message, ActionType, GroupName, _dueDate, IsActionNew, IsNotification); TestsHelper.TestPublicDeclaredPropertiesGetSet(actionItemInfo); }
public void OpenScreenCommandOpensIntegrationEvent() { // Arrange. var actionItem = new ActionItemInfo( 123, Constants.IntegrationEventProcessName, "7FA27365-AF0A-4F98-A927-368D21A8175A", 321, "Integration Service Failed", "Subject", "Message", ActionTypes.Assignment, "GroupName", DateTime.MinValue, true, true); var windowManager = Mock.Create<IShell>(Behavior.Loose); var actionManager = new ActionManagerViewModel(); var integrationEventViewModel = Mock.Create<IIntegrationEventViewModel>(Behavior.Loose); var integrationEventViewModelFactory = Mock.Create<IIntegrationEventViewModelFactory>(Behavior.Loose); Mock.Arrange(() => integrationEventViewModelFactory.CreateViewModel()).Returns(integrationEventViewModel); var viewModel = new ActionItemViewModel { WindowManager = windowManager, IntegrationEventViewModelFactory = integrationEventViewModelFactory }; viewModel.Initialize(actionItem, actionManager); // Act. viewModel.OpenScreenCommand.Execute(null); // Assert. Mock.Assert(() => integrationEventViewModel.LoadEvent(321), Occurs.Once()); Mock.Assert(() => windowManager.ShowTaskWindow(integrationEventViewModel, true), Occurs.Once()); }
public void OpenScreenCommandTest() { var actionManagerVM = Mock.Create<ActionManagerViewModel>(); var actionItemInfo = new ActionItemInfo( 123, "ProcessName", "7FA27365-AF0A-4F98-A927-368D21A8175A", 321, "Name", "Subject", "Message", ActionTypes.Approval, "GroupName", DateTime.MinValue, true, false); var detailsMock = Mock.Create<IDetailsViewModel>(); var shellMock = Mock.Create<IShell>(); var vm = new ActionItemViewModel { DetailsViewModelFactory = new ExportFactory<IDetailsViewModel>(() => new Tuple<IDetailsViewModel, Action>(detailsMock, () => { })), WindowManager = shellMock }; var dynamicManagerMock = Mock.Create<IDynamicTypeManager>(); Mock.Arrange(() => dynamicManagerMock.BeginGetEditableRoot(Constants.ActionItemsProcessName, 1, Arg.IsAny<Action<object, DataPortalResult<IEditableRoot>>>())) .DoInstead<string, int, Action<object, DataPortalResult<IEditableRoot>>>( (processName, id, callback) => { var result = new DataPortalResult<IEditableRoot>(null, null, null); callback(null, result); }); vm.DynamicManager = dynamicManagerMock; vm.Initialize(actionItemInfo, actionManagerVM); vm.IsDetailOpen = true; vm.OpenScreenCommand.Execute(null); Assert.IsFalse(vm.IsDetailOpen); Mock.Assert(() => detailsMock.Refresh(actionItemInfo.ProcessName, actionItemInfo.ItemId), Occurs.Once()); Mock.Assert(() => shellMock.ShowTaskWindow(detailsMock, true), Occurs.Once()); }
public void AcknowledgeCollapseTest() { var actionManagerVM = Mock.Create<ActionManagerViewModel>(); var actionItemInfo = new ActionItemInfo( 123, "ProcessName", "7FA27365-AF0A-4F98-A927-368D21A8175A", 321, "Name", "Subject", "Message", ActionTypes.Approval, "GroupName", DateTime.MinValue, true, false); var vm = new ActionItemViewModel(); var dynamicManagerMock = Mock.Create<IDynamicTypeManager>(); Mock.Arrange(() => dynamicManagerMock.BeginGetEditableRoot(Constants.ActionItemsProcessName, 1, Arg.IsAny<Action<object, DataPortalResult<IEditableRoot>>>())) .DoInstead<string, int, Action<object, DataPortalResult<IEditableRoot>>>( (processName, id, callback) => { var result = new DataPortalResult<IEditableRoot>(null, null, null); callback(null, result); }); vm.DynamicManager = dynamicManagerMock; vm.Initialize(actionItemInfo, actionManagerVM); Assert.AreEqual(Visibility.Visible, vm.AcknowledgeCollapse); actionItemInfo = new ActionItemInfo( 123, "ProcessName", "7FA27365-AF0A-4F98-A927-368D21A8175A", 321, "Name", "Subject", "Message", ActionTypes.Assignment, "GroupName", DateTime.MinValue, true, false); vm.Initialize(actionItemInfo, actionManagerVM); Assert.AreEqual(Visibility.Collapsed, vm.AcknowledgeCollapse); }
public void RefreshCommandShouldResetViewModels() { // Arrange. var actionItem = new ActionItemInfo( 1, "test", Guid.NewGuid().ToString(), 1, "name", "subject", "message", ActionTypes.Approval, "group", DateTime.Now, true, false); var actionItemFactory = new ExportFactory<ActionItemViewModel>(() => Tuple.Create(new ActionItemViewModel(), new Action(() => { }))); var actionGroupFactory = new ExportFactory<ActionGroupViewModel>(() => Tuple.Create(new ActionGroupViewModel(), new Action(() => { }))); var vm = new ActionManagerViewModel { ActionItemFactory = actionItemFactory, ActionGroupFactory = actionGroupFactory }; var actionRetriever = Mock.Create<ActionRetriever>(); Mock.Arrange(() => actionRetriever.ActionItems).Returns(new[] { actionItem }); Mock.Arrange(() => ActionRetriever.GetActionRetriever(Arg.IsAny<EventHandler<DataPortalResult<ActionRetriever>>>())) .DoInstead<EventHandler<DataPortalResult<ActionRetriever>>>( callback => callback(null, new DataPortalResult<ActionRetriever>(actionRetriever, null, null))); Mock.Arrange(() => Utils.CurrentUserPersonId).Returns(1); // Load the action items. vm.HandleEvent(new AuthenticationEvent()); // Change some properties to simulate user activity. vm.ActionGroups[0].IsExpanded = true; vm.ActionGroups[0].ActionItems[0].IsDetailOpen = true; // Act. vm.RefreshCommand.Execute(true); // Assert. Assert.IsFalse(vm.ActionGroups[0].IsExpanded); Assert.IsFalse(vm.ActionGroups[0].ActionItems[0].IsDetailOpen); }
public void SelectingItemShouldMakeActionOld() { var vm = new ActionManagerViewModel(); var item = new ActionItemViewModel(); var newActionItem = new ActionItemInfo(1, "test", Guid.NewGuid().ToString(), 1, "name", "subj", "message", ActionTypes.Approval, "group", DateTime.Now, true, false); var oldActionItem = new ActionItemInfo(1, "test", Guid.NewGuid().ToString(), 1, "name", "subj", "message", ActionTypes.Approval, "group", DateTime.Now, false, false); Mock.Arrange(() => item.Model).Returns(newActionItem); var cmd = new MarkActionItemOldCommand(); Mock.Arrange(() => cmd.ActionItemId).Returns(1); Mock.Arrange(() => cmd.Result).Returns(oldActionItem); Mock.Arrange(() => MarkActionItemOldCommand.BeginExecute(1, Arg.IsAny<EventHandler<DataPortalResult<MarkActionItemOldCommand>>>())).DoInstead((EventHandler<DataPortalResult<MarkActionItemOldCommand>> e) => e(null, new DataPortalResult<MarkActionItemOldCommand>(cmd, null, null))); vm.ActionItems.Add(item); vm.SelectedAction = item; Assert.AreEqual(1, vm.SelectedAction.Model.Id); Assert.IsFalse(vm.SelectedAction.IsActionNew); }
public void SelectingItemShouldMakeItemSelectedAndDeselectPrevious() { var vm = new ActionManagerViewModel(); var item1 = new ActionItemViewModel(); var item2 = new ActionItemViewModel(); var newActionItem = new ActionItemInfo(1, "test", Guid.NewGuid().ToString(), 1, "name", "subj", "message", ActionTypes.Approval, "group", DateTime.Now, true, false); Mock.Arrange(() => item2.Model).Returns(newActionItem); var cmd = new MarkActionItemOldCommand(); Mock.Arrange(() => cmd.ActionItemId).Returns(1); Mock.Arrange(() => MarkActionItemOldCommand.BeginExecute(1, Arg.IsAny<EventHandler<DataPortalResult<MarkActionItemOldCommand>>>())).DoNothing(); vm.ActionItems.Add(item1); vm.ActionItems.Add(item2); vm.SelectedAction = item1; Assert.IsTrue(item1.IsSelected); vm.SelectedAction = item2; Assert.IsFalse(item1.IsSelected); Assert.IsTrue(item2.IsSelected); }