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); }
public void SetUp() { _questionDefinition = new IntegerQuestionDefinition(); }