Exemplo n.º 1
0
        public void WhenViewModelIsCreated_ThenItRequestsAvailableTemplates()
        {
            bool loadRequested = false;

            var repository = new Mock <IQuestionnaireRepository>();

            repository.Setup(r =>
                             r.GetQuestionnaireTemplatesAsync(It.IsAny <Action <IOperationResult <IEnumerable <QuestionnaireTemplate> > > >()))
            .Callback <Action <IOperationResult <IEnumerable <QuestionnaireTemplate> > > >(c => loadRequested = true);

            var uiService = new Mock <ISingleViewUIService>();

            var viewModel = new AvailableQuestionnaireTemplatesListViewModel(repository.Object, uiService.Object);

            Assert.IsTrue(loadRequested);
            Assert.AreEqual(0, viewModel.QuestionnaireTemplates.Count);
        }
Exemplo n.º 2
0
        public void WhenInitialLoadOperationIscompleted_ThenViewModelPopulatesTheCollectionOfQuestionnaireTemplates()
        {
            Action <IOperationResult <IEnumerable <QuestionnaireTemplate> > > callback = null;

            var repository = new Mock <IQuestionnaireRepository>();

            repository.Setup(r =>
                             r.GetQuestionnaireTemplatesAsync(It.IsAny <Action <IOperationResult <IEnumerable <QuestionnaireTemplate> > > >()))
            .Callback <Action <IOperationResult <IEnumerable <QuestionnaireTemplate> > > >(c => callback = c);

            var uiService = new Mock <ISingleViewUIService>();

            var viewModel = new AvailableQuestionnaireTemplatesListViewModel(repository.Object, uiService.Object);

            Assert.AreEqual(0, viewModel.QuestionnaireTemplates.Count);

            callback(CreateQuestionnaireTemplates());

            Assert.AreEqual("Questionnaire #1", viewModel.QuestionnaireTemplates[0].Title);
            Assert.AreEqual("Questionnaire #2", viewModel.QuestionnaireTemplates[1].Title);
        }
Exemplo n.º 3
0
        public void WhenExecutingTheTakeSurveyCommand_ThenRequestsTransitionToQuestionnaireView()
        {
            var repository = new Mock <IQuestionnaireRepository>();

            repository
            .Setup(r => r.GetQuestionnaireTemplatesAsync(It.IsAny <Action <IOperationResult <IEnumerable <QuestionnaireTemplate> > > >()));


            QuestionnaireTemplate templateRequested = null;
            var uiServiceMock = new Mock <ISingleViewUIService>();

            uiServiceMock
            .Setup(svc => svc.ShowView(ViewNames.CompleteQuestionnaire, It.IsAny <QuestionnaireTemplate>()))
            .Callback <string, QuestionnaireTemplate>((vn, qt) => templateRequested = qt);

            var template = new QuestionnaireTemplate();

            var templateViewModel =
                new AvailableQuestionnaireTemplatesListViewModel(repository.Object, uiServiceMock.Object);

            templateViewModel.TakeSurveyCommand.Execute(template);

            Assert.AreSame(template, templateRequested);
        }