public async Task Create_post_action_result_should_redirect_to_action_when_modelState_valid() { // Arrange var answer = new Answer { QuestionId = 1, AnswerId = 1, AnswerText = "Test" }; var httpContext = new DefaultHttpContext(); var tempData = new TempDataDictionary(httpContext, Mock.Of <ITempDataProvider>()); var controller = new AnswersController(_answerRepository.Object) { TempData = tempData }; // Act var result = await controller.Create(answer); // Assert Assert.IsType <RedirectToActionResult>(result); }
public void Create_action_should_return_BadRequest_when_questionId_is_not_valid() { // Arrange var controller = new AnswersController(_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 Create_action_should_return_Create_View_with_correct_model() { // Arrange var questionId = 1; var answersForQuestion = _testData.GetTestAnswers().Where(q => q.QuestionId == questionId); _answerRepository.Setup(repo => repo.GetByQuestionId(questionId)).ReturnsAsync(answersForQuestion.ToList); var controller = new AnswersController(_answerRepository.Object); // act var result = controller.Create(questionId); // assert Assert.IsType <ViewResult>(result); Assert.NotNull(result); }
public async Task Create_post_action_result_should_return_ViewResult_with_correct_Model_type_when_modelState_not_valid() { // Arrange var answer = new Answer { AnswerId = 20, }; // Arrange var controller = new AnswersController(_answerRepository.Object); controller.ModelState.AddModelError("Title", "Title is required"); // Act var result = await controller.Create(answer); // Assert var viewResult = Assert.IsType <ViewResult>(result); Assert.IsAssignableFrom <Answer>(viewResult.ViewData.Model); }
public void Create_ThrowException() { Assert.That(() => controller.Create(null), Throws.Exception); }