public void Find_EntityExistsWithDifferentQuestionnaireIdAndSpecifiedQuestionId_ReturnsNull()
        {
            // Arrange
            QuestionBase question = new IntegerQuestion();

            _repository.Insert(question);

            // Act
            var result = _repository.Find(Guid.NewGuid(), question.QuestionDefinitionId);

            // Assert
            Assert.IsNull(result);
        }
        public void Find_EntityExistsWithSpecifiedQuestionnaireIdButDifferentQuestionId_ReturnsNull()
        {
            // Arrange
            QuestionBase question = new IntegerQuestion();

            _repository.Insert(question);

            // Act
            var result = _repository.Find(question.Id, QuestionDefinitionId.MaritalStatus);

            // Assert
            Assert.IsNull(result);
        }
        public void Find_EntityExistsWithSpecifiedQuestionnaireIdAndQuestionId_ReturnsEntity()
        {
            // Arrange
            var question = new IntegerQuestion {
                QuestionnaireId = Guid.NewGuid()
            };

            _repository.Insert(question);

            // Act
            var result = _repository.Find(question.QuestionnaireId, question.QuestionDefinitionId);

            // Assert
            Assert.AreEqual(result.Id, question.Id);
        }
        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 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 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 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 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_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_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);
        }
 public override object Visit(IntegerQuestion question)
 {
     return(VisitQuestion(question));
 }
 public override object Visit(IntegerQuestion question)
 {
     return VisitQuestion(question);
 }
Example #15
0
 public virtual T Visit(IntegerQuestion question)
 {
     return(VisitQuestion(question));
 }