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"));
        }
Example #2
0
 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);
 }
Example #3
0
 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);
        }