Пример #1
0
        public ActionResult Create(QuestionInputModel inputModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var question = Mapper.Map<QuestionInputModel, Core.Entities.Question>(inputModel);
                    question.CreatedByUserId = User.Identity.UserId;

                    _questionService.Store(question);

                    DocumentSession.SaveChanges();

                    return RedirectToAction("Index", "Home", new {area = ""});
                }
            }
            catch (Exception exception)
            {
                ModelState.AddModelError("RuRoh", exception.Message);
            }

            var viewModel = new QuestionViewModel(User.Identity);
            Mapper.Map(inputModel, viewModel);

            return View("Create", viewModel);
        }
            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 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"]);
            }