public void TriggersViewModel_DoDeactivate_ShowMessage_True_Unauthorized_Expect_True()
        {
            var mockEventAggregator = new Mock <IEventAggregator>();
            var mockPopupController = new Mock <IPopupController>();

            mockPopupController.Setup(popupController => popupController.ShowSaveSettingsPermissionsErrorMsg()).Returns(System.Windows.MessageBoxResult.OK);
            var mockAsyncWorker = new Mock <IAsyncWorker>();
            var mockServer      = new Mock <IServer>();

            mockServer.Setup(server => server.DisplayName).Returns("TestServer");

            var mockAuthorizationService = new Mock <IAuthorizationService>();

            mockAuthorizationService.Setup(authorizationService => authorizationService.IsAuthorized(Common.Interfaces.Enums.AuthorizationContext.Administrator, null)).Returns(false);

            var mockEnvironment = new Mock <IServer>();

            mockEnvironment.Setup(server => server.DisplayName).Returns("TestEnvironment");
            mockEnvironment.Setup(server => server.IsConnected).Returns(true);
            mockEnvironment.Setup(server => server.AuthorizationService).Returns(mockAuthorizationService.Object);

            var triggersViewModel = new TriggersViewModel(mockEventAggregator.Object, mockPopupController.Object, mockAsyncWorker.Object, mockServer.Object, a =>
            {
                return(mockEnvironment.Object);
            });

            var value = triggersViewModel.DoDeactivate(false);

            Assert.IsFalse(value);
            Assert.IsTrue(triggersViewModel.HasErrors);
            Assert.AreEqual(StringResources.SaveSettingsPermissionsErrorMsg, triggersViewModel.Errors);
            mockPopupController.Verify(popupController => popupController.ShowSaveSettingsPermissionsErrorMsg(), Times.Once);
        }
        public void TriggersViewModel_DoDeactivate_ShowMessage_False_Expect_True()
        {
            var mockEventAggregator = new Mock <IEventAggregator>();
            var mockPopupController = new Mock <IPopupController>();

            mockPopupController.Setup(popupController => popupController.ShowSaveServerNotReachableErrorMsg()).Returns(System.Windows.MessageBoxResult.OK);
            var mockAsyncWorker = new Mock <IAsyncWorker>();
            var mockServer      = new Mock <IServer>();

            mockServer.Setup(server => server.DisplayName).Returns("TestServer");

            var mockEnvironment = new Mock <IServer>();

            mockEnvironment.Setup(server => server.DisplayName).Returns("TestEnvironment");

            var triggersViewModel = new TriggersViewModel(mockEventAggregator.Object, mockPopupController.Object, mockAsyncWorker.Object, mockServer.Object, a =>
            {
                return(mockEnvironment.Object);
            });

            var value = triggersViewModel.DoDeactivate(false);

            Assert.IsFalse(value);
            Assert.IsTrue(triggersViewModel.HasErrors);
            Assert.AreEqual(StringResources.SaveServerNotReachableErrorMsg, triggersViewModel.Errors);
            mockPopupController.Verify(popupController => popupController.ShowSaveServerNotReachableErrorMsg(), Times.Once);
        }