public void PollPassedToQuestionCreateView() { // Arrange var fakeDB = new FakePollContext(); fakeDB.Polls = new FakePollSet(); fakeDB.Questions = new FakeDbSet <Question>(); var poll = new Poll { ID = 1, Title = "Hello" }; fakeDB.Polls.Add(poll); var poll2 = new Poll { ID = 2, Title = "world" }; fakeDB.Polls.Add(poll2); QuestionsController controller = new QuestionsController(fakeDB); // Act ViewResult result = controller.Create("1") as ViewResult; CreateQuestionViewModel generatedViewModel = result.ViewData.Model as CreateQuestionViewModel; // Assert Assert.AreEqual(generatedViewModel.PollTitle, "Hello"); }
public async Task Create_post_action_result_should_redirect_to_action_when_modelState_valid() { // Arrange var question = new Question { QuestionId = 1, QuizId = 1, QuestionText = "Test" }; var httpContext = new DefaultHttpContext(); var tempData = new TempDataDictionary(httpContext, Mock.Of <ITempDataProvider>()); var controller = new QuestionsController(_questionRepository.Object, _answerRepository.Object) { TempData = tempData }; // Act var result = await controller.Create(question); // Assert Assert.IsType <RedirectToActionResult>(result); }
public void Create_action_should_return_Create_View_with_correct_model() { // Arrange var quizId = 1; var controller = new QuestionsController(_questionRepository.Object, _answerRepository.Object); // act var result = controller.Create(quizId); // assert Assert.IsType <ViewResult>(result); Assert.NotNull(result); }
public void Create_action_should_return_BadRequest_when_quizId_is_not_valid() { // Arrange var controller = new QuestionsController(_questionRepository.Object, _answerRepository.Object); // Act var result = controller.Create(id: null); // Assert var badRequestObjectResult = Assert.IsType <BadRequestObjectResult>(result); var model = Assert.IsAssignableFrom <BadRequestObjectResult>(badRequestObjectResult); Assert.Equal(model.StatusCode, badRequestObjectResult.StatusCode); Assert.NotNull(result); }
public void GivenAValidQuestionAndNoOneIsLoggedIn_Create_ReturnsAResultView() { // Arrange. var questionService = new QuestionService(DocumentSession); var questionsController = new QuestionsController(DocumentSession, questionService); ControllerUtilities.SetUpControllerContext(questionsController); var createInputModel = new QuestionInputModel(); // Act. var result = questionsController.Create(createInputModel) as ViewResult; // Assert. Assert.NotNull(result); Assert.Equal("Create", result.ViewName); }
public void GivenAnInvalidQuestion_Create_ReturnsAResultView() { // Arrange. var questionService = new QuestionService(DocumentSession); var questionsController = new QuestionsController(DocumentSession, questionService); ControllerUtilities.SetUpControllerContext(questionsController); var createInputModel = new QuestionInputModel(); // Now pretend the model binding raised an error with the input model. questionsController.ModelState.AddModelError("key", "error message"); // Act. var result = questionsController.Create(createInputModel) as ViewResult; // Assert. Assert.NotNull(result); Assert.Equal("Create", result.ViewName); }
public async Task Create_post_action_result_should_return_ViewResult_with_correct_Model_type_when_modelState_not_valid() { // Arrange var question = new Question { QuestionId = 6, }; // Arrange var controller = new QuestionsController(_questionRepository.Object, _answerRepository.Object); controller.ModelState.AddModelError("Title", "Title is required"); // Act var result = await controller.Create(question); // Assert var viewResult = Assert.IsType <ViewResult>(result); Assert.IsAssignableFrom <Question>(viewResult.ViewData.Model); }
public async Task Create_New_Question() { // Arrange var fixture = new Fixture(); var context = GetFakeContext(); var questionDbSetMock = new Mock <DbSet <Question> >(); var answerDbSetMock = new Mock <DbSet <Answer> >(); context.Questions = questionDbSetMock.Object; context.Answers = answerDbSetMock.Object; var controller = new QuestionsController(context); // Act var result = await controller.Create(fixture.Create <QuestionCreationViewModel>()); // Assert Assert.IsAssignableFrom <RedirectToActionResult>(result); questionDbSetMock.Verify(x => x.AddAsync(It.IsNotNull <Question>(), default), Times.Once); answerDbSetMock.Verify(x => x.AddRangeAsync(It.IsNotNull <List <Answer> >(), default), Times.Once); }
public void GivenAValidQuestionAndALoggedInUser_Create_AddsTheQuestionAndRedicects() { // Arrange. var questionService = new QuestionService(DocumentSession); var questionsController = new QuestionsController(DocumentSession, questionService); ControllerUtilities.SetUpControllerContext(questionsController, "users/1"); var createInputModel = new QuestionInputModel() { Subject = "aaaad fdds fsd ds", Content = "sdhfskfhksd sd", Tags = "ahdakjdh" }; // Act. var result = questionsController.Create(createInputModel) as RedirectToRouteResult; // Assert. Assert.NotNull(result); Assert.Equal("Index", result.RouteValues["action"]); }
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() { var result = controller.Create() as ViewResult; Assert.AreEqual("Create", result.ViewName); }