Esempio n. 1
0
        public void WhenCancellingModifiedQuestionnaire_ThenViewModelPromptsForConfirmation()
        {
            var questionnaireRepositoryMock = new Mock <IQuestionnaireRepository>(MockBehavior.Strict);

            var uiServiceMock = new Mock <ISingleViewUIService>(MockBehavior.Strict);

            var questionnaireTemplate =
                new QuestionnaireTemplate {
                Questions = { new NumericQuestionTemplate {
                                  QuestionText = "unknown"
                              } }
            };
            var viewModel =
                new QuestionnaireViewModel(
                    CreateStateMock(questionnaireTemplate).Object,
                    questionnaireRepositoryMock.Object,
                    uiServiceMock.Object);

            viewModel.Questionnaire.Name = "name";

            InteractionRequestedEventArgs args = null;

            viewModel.CancelConfirmationInteractionRequest.Raised += (o, e) => { args = e; };

            viewModel.Cancel();

            Assert.IsNotNull(args);
            questionnaireRepositoryMock.Verify();
            uiServiceMock.Verify();
        }
Esempio n. 2
0
        public void WhenCancellingTheConfirmationViewAfterCancellingASubmit_ThenViewModelStaysOnTheQuestionnairePage()
        {
            var questionnaireRepositoryMock = new Mock <IQuestionnaireRepository>(MockBehavior.Strict);

            var uiServiceMock = new Mock <ISingleViewUIService>(MockBehavior.Strict);

            var questionnaireTemplate =
                new QuestionnaireTemplate {
                Questions = { new NumericQuestionTemplate {
                                  QuestionText = "unknown"
                              } }
            };
            var viewModel =
                new QuestionnaireViewModel(
                    CreateStateMock(questionnaireTemplate).Object,
                    questionnaireRepositoryMock.Object,
                    uiServiceMock.Object);

            viewModel.Questionnaire.Name = "name";

            InteractionRequestedEventArgs args = null;

            viewModel.CancelConfirmationInteractionRequest.Raised += (o, e) => { args = e; };

            viewModel.Cancel();

            args.Callback();

            questionnaireRepositoryMock.Verify();
            uiServiceMock.Verify();
        }
Esempio n. 3
0
        public void WhenCancellingNewQuestionnaire_ThenViewModelNavigatesToQuestionnaireListView()
        {
            var questionnaireRepositoryMock = new Mock <IQuestionnaireRepository>(MockBehavior.Strict);

            var uiServiceMock = new Mock <ISingleViewUIService>(MockBehavior.Strict);

            uiServiceMock
            .Setup(svc => svc.ShowView(ViewNames.QuestionnaireTemplatesList))
            .Verifiable();

            var questionnaireTemplate =
                new QuestionnaireTemplate {
                Questions = { new NumericQuestionTemplate {
                                  QuestionText = "unknown"
                              } }
            };
            var viewModel =
                new QuestionnaireViewModel(
                    CreateStateMock(questionnaireTemplate).Object,
                    questionnaireRepositoryMock.Object,
                    uiServiceMock.Object);

            viewModel.Cancel();

            questionnaireRepositoryMock.Verify();
            uiServiceMock.Verify();
        }
Esempio n. 4
0
        public void WhenAcceptingTheConfirmationViewAfterCancellingASubmit_ThenViewModelNavigatesToQuestionnaireListView()
        {
            var questionnaireRepositoryMock = new Mock <IQuestionnaireRepository>(MockBehavior.Strict);

            bool navigatedAway = false;
            var  uiServiceMock = new Mock <ISingleViewUIService>(MockBehavior.Strict);

            uiServiceMock
            .Setup(svc => svc.ShowView(ViewNames.QuestionnaireTemplatesList))
            .Callback(() => { navigatedAway = true; })
            .Verifiable();

            var questionnaireTemplate =
                new QuestionnaireTemplate {
                Questions = { new NumericQuestionTemplate {
                                  QuestionText = "unknown"
                              } }
            };
            var viewModel =
                new QuestionnaireViewModel(
                    CreateStateMock(questionnaireTemplate).Object,
                    questionnaireRepositoryMock.Object,
                    uiServiceMock.Object);

            viewModel.Questionnaire.Name = "name";

            InteractionRequestedEventArgs args = null;

            viewModel.CancelConfirmationInteractionRequest.Raised += (o, e) => { args = e; };

            viewModel.Cancel();

            ((Confirmation)args.Context).Confirmed = true;

            args.Callback();

            Assert.IsTrue(navigatedAway);
            questionnaireRepositoryMock.Verify();
            uiServiceMock.Verify();
        }