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); }
public virtual T Visit(IntegerQuestion question) { return(VisitQuestion(question)); }