Example #1
0
        public void CreateQuestion_Invoked_ReturnsIntegerQuestion()
        {
            // Arrange
            var definitionType = new IntegerQuestionDefinition();

            // Act
            var question = definitionType.CreateQuestion();

            // Assert
            Assert.IsInstanceOf <IntegerQuestion>(question);
        }
        public void Create_GET_NoQuestionDefinitionSpecified_ReturnsView()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                DefaultNextQuestionId = QuestionDefinitionId.ChildAge
            };

            _questionDefinitionService.GetFirstDefinition().Returns(testQuestionDefinition);

            // Act
            var result = _controller.Create(Guid.NewGuid(), null) as ViewResult;

            // Assert
            Assert.IsNotNull(result);
        }
        public void Create_GET_QuestionDefinitionSpecified_RequestsSpecifiedDefinitionFromQuestionDefinitionService()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                DefaultNextQuestionId = QuestionDefinitionId.ChildAge
            };

            _questionDefinitionService.GetDefinition(Arg.Any <QuestionDefinitionId>()).Returns(testQuestionDefinition);

            // Act
            var result = _controller.Create(Guid.NewGuid(), QuestionDefinitionId.ChildAge) as ViewResult;

            // Assert
            _questionDefinitionService.Received().GetDefinition(QuestionDefinitionId.ChildAge);
        }
        public void Edit_POST_ValidModel_CallsRepositorySave()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                DefaultNextQuestionId = QuestionDefinitionId.ChildAge
            };

            _questionDefinitionService.GetDefinition(Arg.Any <QuestionDefinitionId>()).Returns(testQuestionDefinition);
            var question = new IntegerQuestion();

            // Act
            _controller.Edit(question);

            // Assert
            _baseRepository.Received(1).Save();
        }
        public void Edit_POST_NoNextQuestion_RedirectToQuestionnairesController()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition();

            _questionDefinitionService.GetDefinition(Arg.Any <QuestionDefinitionId>()).Returns(testQuestionDefinition);
            var question = new IntegerQuestion {
                QuestionDefinitionId = QuestionDefinitionId.ChildAge
            };

            // Act
            var result = _controller.Edit(question) as RedirectToRouteResult;

            // Assert
            Assert.AreEqual("Questionnaires", result.RouteValues["controller"]);
        }
        public void Create_POST_NoNextQuestion_RedirectToIndexAction()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition();

            _questionDefinitionService.GetDefinition(Arg.Any <QuestionDefinitionId>()).Returns(testQuestionDefinition);
            var question = new IntegerQuestion {
                QuestionDefinitionId = QuestionDefinitionId.ChildAge
            };

            // Act
            var result = _controller.Create(question) as RedirectToRouteResult;

            // Assert
            Assert.AreEqual("Index", result.RouteValues["action"]);
        }
        public void Create_GET_QuestionDefinitionSpecified_ViewBaglHasPromptTextFromService()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                PromptText = "Testing"
            };

            _questionDefinitionService.GetDefinition(Arg.Any <QuestionDefinitionId>()).Returns(testQuestionDefinition);

            // Act
            var result = _controller.Create(Guid.NewGuid(), QuestionDefinitionId.ChildAge) as ViewResult;

            // Assert
            var definition = result.ViewBag.questionDefinition as QuestionDefinitionBase;

            Assert.AreEqual("Testing", definition.PromptText);
        }
        public void Create_GET_QuestionDefinitionSpecified_ModelHasQuestionDefinitionIdFromService()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                Id = QuestionDefinitionId.ChildAge
            };

            _questionDefinitionService.GetDefinition(Arg.Any <QuestionDefinitionId>()).Returns(testQuestionDefinition);

            // Act
            var result = _controller.Create(Guid.NewGuid(), Arg.Any <QuestionDefinitionId>()) as ViewResult;

            // Assert
            var model = result.Model as IntegerQuestion;

            Assert.AreEqual(QuestionDefinitionId.ChildAge, model.QuestionDefinitionId);
        }
        public void Create_GET_NoQuestionDefinitionSpecified_ModelHasQuestionIdFromFirstQuestion()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                Id = QuestionDefinitionId.BorrowerAge
            };

            _questionDefinitionService.GetFirstDefinition().Returns(testQuestionDefinition);

            // Act
            var result = _controller.Create(Guid.NewGuid(), null) as ViewResult;

            // Assert
            var model = result.Model as IntegerQuestion;

            Assert.AreEqual(QuestionDefinitionId.BorrowerAge, model.QuestionDefinitionId);
        }
        public void Create_GET_NoQuestionDefinitionSpecified_QuestionPromptInViewBagIsForFirstQuestion()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                PromptText = "Testing"
            };

            _questionDefinitionService.GetFirstDefinition().Returns(testQuestionDefinition);

            // Act
            var result = _controller.Create(Guid.NewGuid(), null) as ViewResult;

            // Assert
            var definition = result.ViewBag.questionDefinition as QuestionDefinitionBase;

            Assert.AreEqual("Testing", definition.PromptText);
        }
        public void Edit_POST_ValidModel_UpdatesModelFromParameter()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                DefaultNextQuestionId = QuestionDefinitionId.ChildAge
            };

            _questionDefinitionService.GetDefinition(Arg.Any <QuestionDefinitionId>()).Returns(testQuestionDefinition);
            var question = new IntegerQuestion();

            question.IntValue = 12345;

            // Act
            _controller.Edit(question);

            // Assert
            _baseRepository.Received().Update(Arg.Is <IntegerQuestion>(x => x.IntValue == 12345));
        }
        public void Create_GET_NoQuestionDefinitionSpecified_ModelHasQuestionnaireIdFromParameter()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                PromptText = "Testing"
            };

            _questionDefinitionService.GetFirstDefinition().Returns(testQuestionDefinition);
            var testGuid = Guid.NewGuid();

            // Act
            var result = _controller.Create(testGuid, null) as ViewResult;

            // Assert
            var model = result.Model as IntegerQuestion;

            Assert.AreEqual(testGuid, model.QuestionnaireId);
        }
        public void Edit_POST_ThereIsANextQuestion_IncludesCorrectQuestionnaireIdParameter()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                DefaultNextQuestionId = QuestionDefinitionId.ChildAge
            };

            _questionDefinitionService.GetDefinition(Arg.Any <QuestionDefinitionId>()).Returns(testQuestionDefinition);
            var questionnaireId = Guid.NewGuid();
            var question        = new IntegerQuestion {
                QuestionnaireId = questionnaireId
            };

            // Act
            var result = _controller.Edit(question) as RedirectToRouteResult;

            // Assert
            Assert.AreEqual(questionnaireId, result.RouteValues["questionnaireId"]);
        }
        public void Edit_POST_ThereIsANextQuestion_SpecifiesCorrectNextQuestionId()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                DefaultNextQuestionId = QuestionDefinitionId.ChildAge
            };

            _questionDefinitionService.GetDefinition(Arg.Any <QuestionDefinitionId>()).Returns(testQuestionDefinition);

            var question = new IntegerQuestion {
                QuestionDefinitionId = QuestionDefinitionId.BorrowerAge
            };

            // Act
            var result = _controller.Edit(question) as RedirectToRouteResult;

            // Assert
            Assert.AreEqual(QuestionDefinitionId.ChildAge, result.RouteValues["questionDefinitionId"]);
        }
        public void Edit_GET_QuestionInRepository_ReturnsView()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                DefaultNextQuestionId = QuestionDefinitionId.ChildAge
            };

            _questionDefinitionService.GetDefinition(Arg.Any <QuestionDefinitionId>()).Returns(testQuestionDefinition);
            var question = new IntegerQuestion {
                QuestionDefinitionId = QuestionDefinitionId.ChildAge
            };

            _baseRepository.Find(Arg.Any <Guid>(), Arg.Any <QuestionDefinitionId>()).Returns(question);

            // Act
            var result = _controller.Edit(Guid.NewGuid(), null) as ViewResult;

            // Assert
            Assert.IsNotNull(result);
        }
        public void Create_POST_NextQuestionAlreadyExist_RedirectsToEdit()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                DefaultNextQuestionId = QuestionDefinitionId.ChildAge
            };

            _questionDefinitionService.GetDefinition(Arg.Any <QuestionDefinitionId>()).Returns(testQuestionDefinition);
            var question = new IntegerQuestion {
                QuestionDefinitionId = QuestionDefinitionId.BorrowerAge
            };

            _baseRepository.Find(Arg.Any <Guid>(), QuestionDefinitionId.ChildAge).Returns(new StringQuestion());

            // Act
            var result = _controller.Create(question) as RedirectToRouteResult;

            // Assert
            Assert.AreEqual("Edit", result.RouteValues["action"]);
        }
        public void Edit_GET_QuestionInRepository_AddsQuestionDefinitionToViewBag()
        {
            // Arrange
            var testQuestionDefinition = new IntegerQuestionDefinition {
                PromptText = "Testing"
            };

            _questionDefinitionService.GetDefinition(Arg.Any <QuestionDefinitionId>()).Returns(testQuestionDefinition);
            var question = new IntegerQuestion {
                QuestionDefinitionId = QuestionDefinitionId.ChildAge
            };

            _baseRepository.Find(Arg.Any <Guid>(), Arg.Any <QuestionDefinitionId>()).Returns(question);

            // Act
            var result = _controller.Edit(Guid.NewGuid(), null) as ViewResult;

            // Assert
            var definition = result.ViewBag.questionDefinition as QuestionDefinitionBase;

            Assert.IsNotNull(definition);
        }
Example #18
0
 public void SetUp()
 {
     _questionDefinition = new IntegerQuestionDefinition();
 }