public void InvokeAsyncFeedback_Where_FeedbackAlreadyInProgressAndUserOptsToCancelInprogressFeedBack_Expected_PromptAndFeedbackStarted() { Mock <IAsyncFeedbackAction> feedbackAction = new Mock <IAsyncFeedbackAction>(); feedbackAction.Setup(f => f.CanProvideFeedback).Returns(true); feedbackAction.Setup(f => f.StartFeedback(It.IsAny <Action <Exception> >())).Verifiable(); feedbackAction.Setup(f => f.CancelFeedback()).Verifiable(); Mock <IAsyncFeedbackAction> feedbackAction1 = new Mock <IAsyncFeedbackAction>(); feedbackAction1.Setup(f => f.CanProvideFeedback).Returns(true); feedbackAction1.Setup(f => f.StartFeedback(It.IsAny <Action <Exception> >())).Verifiable(); Mock <IPopupController> popup = Dev2MockFactory.CreateIPopup(MessageBoxResult.Yes); CustomContainer.Register <IPopupController>(popup.Object); FeedbackInvoker feedbackInvoker = new FeedbackInvoker(); feedbackInvoker.InvokeFeedback(feedbackAction.Object); feedbackInvoker.InvokeFeedback(feedbackAction1.Object); popup.Verify(p => p.Show(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <MessageBoxButton>(), It.IsAny <MessageBoxImage>(), It.IsAny <string>()), Times.Exactly(1)); feedbackAction.Verify(f => f.StartFeedback(It.IsAny <Action <Exception> >()), Times.Exactly(1)); feedbackAction.Verify(f => f.CancelFeedback(), Times.Exactly(1)); feedbackAction1.Verify(f => f.StartFeedback(It.IsAny <Action <Exception> >()), Times.Exactly(1)); Assert.AreEqual(feedbackAction1.Object, feedbackInvoker.CurrentAction); }
public void InvokeFeedback_Where_EmailAndRecorderActionsProvidedAndUserAnswersCancelToRecordingPrompt_Expected_NoActionInvoked() { Mock <IFeedbackAction> feedbackAction1 = new Mock <IFeedbackAction>(); feedbackAction1.Setup(f => f.CanProvideFeedback).Returns(true); feedbackAction1.Setup(f => f.Priority).Returns(2); feedbackAction1.Setup(f => f.StartFeedback()).Verifiable(); Mock <IAsyncFeedbackAction> feedbackAction2 = new Mock <IAsyncFeedbackAction>(); feedbackAction2.Setup(f => f.CanProvideFeedback).Returns(true); feedbackAction2.Setup(f => f.Priority).Returns(1); feedbackAction2.Setup(f => f.StartFeedback(It.IsAny <Action <Exception> >())).Verifiable(); Mock <IPopupController> popup = Dev2MockFactory.CreateIPopup(MessageBoxResult.Cancel); CustomContainer.Register <IPopupController>(popup.Object); FeedbackInvoker feedbackInvoker = new FeedbackInvoker(); feedbackInvoker.InvokeFeedback(feedbackAction1.Object, feedbackAction2.Object); popup.Verify(p => p.Show(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <MessageBoxButton>(), It.IsAny <MessageBoxImage>(), It.IsAny <string>()), Times.Exactly(1)); feedbackAction2.Verify(f => f.StartFeedback(It.IsAny <Action <Exception> >()), Times.Exactly(0)); feedbackAction1.Verify(f => f.StartFeedback(), Times.Exactly(0)); Assert.AreEqual(null, feedbackInvoker.CurrentAction); }
public void InvokeFeedback_Where_ActionIsNull_Expected_ArgumentNullException() { Mock <IPopupController> popup = Dev2MockFactory.CreateIPopup(MessageBoxResult.Yes); CustomContainer.Register <IPopupController>(popup.Object); FeedbackInvoker feedbackInvoker = new FeedbackInvoker(); feedbackInvoker.InvokeFeedback(null); }
public void InvokeFeedback_Where_RecorderActionIsNull_Expected_ArgumentNullException() { Mock <IFeedbackAction> feedbackAction1 = new Mock <IFeedbackAction>(); feedbackAction1.Setup(f => f.CanProvideFeedback).Returns(true); feedbackAction1.Setup(f => f.Priority).Returns(2); feedbackAction1.Setup(f => f.StartFeedback()).Verifiable(); Mock <IPopupController> popup = Dev2MockFactory.CreateIPopup(MessageBoxResult.Cancel); CustomContainer.Register <IPopupController>(popup.Object); FeedbackInvoker feedbackInvoker = new FeedbackInvoker(); feedbackInvoker.InvokeFeedback(feedbackAction1.Object, null); }
public void InvokeFeedback_Where_EmailActionIsNull_Expected_ArgumentNullException() { Mock <IAsyncFeedbackAction> feedbackAction2 = new Mock <IAsyncFeedbackAction>(); feedbackAction2.Setup(f => f.CanProvideFeedback).Returns(true); feedbackAction2.Setup(f => f.Priority).Returns(1); feedbackAction2.Setup(f => f.StartFeedback(It.IsAny <Action <Exception> >())).Verifiable(); Mock <IPopupController> popup = Dev2MockFactory.CreateIPopup(MessageBoxResult.Cancel); CustomContainer.Register <IPopupController>(popup.Object); FeedbackInvoker feedbackInvoker = new FeedbackInvoker(); feedbackInvoker.InvokeFeedback(null, feedbackAction2.Object); }
public void InvokeAsyncFeedback_Where_ActionCanProvideFeedback_Expected_StartFeedbackInvokedAndCurrentActionSet() { Mock <IAsyncFeedbackAction> feedbackAction = new Mock <IAsyncFeedbackAction>(); feedbackAction.Setup(f => f.CanProvideFeedback).Returns(true); feedbackAction.Setup(f => f.StartFeedback(It.IsAny <Action <Exception> >())).Verifiable(); Mock <IPopupController> popup = Dev2MockFactory.CreateIPopup(MessageBoxResult.Yes); FeedbackInvoker feedbackInvoker = new FeedbackInvoker(); feedbackInvoker.InvokeFeedback(feedbackAction.Object); popup.Verify(p => p.Show(), Times.Exactly(0)); feedbackAction.Verify(f => f.StartFeedback(It.IsAny <Action <Exception> >()), Times.Exactly(1)); Assert.AreEqual(feedbackAction.Object, feedbackInvoker.CurrentAction); }
public void InvokeAsyncFeedback_Where_ActionCantProvideFeedback_NothingInvokedOrSet() { Mock <IAsyncFeedbackAction> feedbackAction = new Mock <IAsyncFeedbackAction>(); feedbackAction.Setup(f => f.CanProvideFeedback).Returns(false); feedbackAction.Setup(f => f.StartFeedback(It.IsAny <Action <Exception> >())).Verifiable(); Mock <IPopupController> popup = Dev2MockFactory.CreateIPopup(MessageBoxResult.Yes); CustomContainer.Register <IPopupController>(popup.Object); FeedbackInvoker feedbackInvoker = new FeedbackInvoker(); feedbackInvoker.InvokeFeedback(feedbackAction.Object); popup.Verify(p => p.Show(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <MessageBoxButton>(), It.IsAny <MessageBoxImage>(), It.IsAny <string>()), Times.Exactly(1)); feedbackAction.Verify(f => f.StartFeedback(It.IsAny <Action <Exception> >()), Times.Exactly(0)); Assert.AreEqual(null, feedbackInvoker.CurrentAction); }
/// <summary> /// Sends the report using the imported feedbackinvoker (. /// </summary> /// <author>jurie.smit</author> /// <date>2013/01/15</date> public void SendReport() { var path = new FileInfo(OutputPath); if (!Critical) { FileHelper.CreateTextFile(OutputText, OutputPath); } else { //2013.06.27: Ashley Lewis for bug 9817 - critical exceptions hang open during feedback (they close themselves) file may exist if (path.Directory != null && !path.Directory.Exists) { FileHelper.CreateTextFile(OutputText, OutputPath); } } FeedbackInvoker.InvokeFeedback(FeedbackAction); //2013.06.27: Ashley Lewis for bug 9817 - don't close critical exception messages (they close themselves) if (!Critical) { RequestClose(); } }
public void InvokeFeedback_Where_UserClicksFeedback_Expected_LimitedPopups() { Mock <IAsyncFeedbackAction> feedbackAction = new Mock <IAsyncFeedbackAction>(); feedbackAction.Setup(f => f.CanProvideFeedback).Returns(true); feedbackAction.Setup(f => f.Priority).Returns(2); feedbackAction.Setup(f => f.StartFeedback()).Verifiable(); Mock <IPopupController> yesPopup = Dev2MockFactory.CreateIPopup(MessageBoxResult.Yes); Mock <IPopupController> noPopup = Dev2MockFactory.CreateIPopup(MessageBoxResult.No); CustomContainer.Register <IPopupController>(yesPopup.Object); FeedbackInvoker theInvoker = new FeedbackInvoker { CurrentAction = feedbackAction.Object }; // If it's already recording, display a box to confirm if the user wants to stop the recording, and click Yes theInvoker.InvokeFeedback(feedbackAction.Object, feedbackAction.Object); // If it's already recording, display a box to confirm if the user wants to stop the recording, and click No theInvoker.InvokeFeedback(feedbackAction.Object, feedbackAction.Object); // If it's not recording, display the information box, and click Yes theInvoker.Popup = noPopup.Object; theInvoker.CurrentAction = null; theInvoker.InvokeFeedback(feedbackAction.Object, feedbackAction.Object); // If it's not recording, display the information box, and click No theInvoker.CurrentAction = null; theInvoker.InvokeFeedback(feedbackAction.Object, feedbackAction.Object); // Check all popups showed the correct amount of times yesPopup.Verify(p => p.Show(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <MessageBoxButton>(), It.IsAny <MessageBoxImage>(), It.IsAny <string>()), Times.Exactly(2)); // Once for already recording, once for not recording, and clicking yes noPopup.Verify(p => p.Show(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <MessageBoxButton>(), It.IsAny <MessageBoxImage>(), It.IsAny <string>()), Times.Exactly(2)); // Once for already recording, once for not recording, and clicking no }