public ActionResult Create(ProblemModel model) { var member = _memberRepository.Get(MemberInformations.OpenId); if (member == null) { ViewData["Error"] = "There is no known user."; return View(); } var problem = _problemService.CreateProblem( model.Title, model.Text.TransformLine(), member); return RedirectToAction("Details", new { id = problem.Id.ToString() }); }
public void CreateProblem() { var problemService = A.Fake<IProblemService>(); var problemRepository = A.Fake<IProblemRepository>(); var memberRepository = A.Fake<IMemberRepository>(); var problemController = ControllerLocator.GetProblemController(memberRepository, problemService, problemRepository); var problem = _session.Single<Problem>().Get(); var member = _session.Single<Member>().Get(); var problemModel = new ProblemModel {Title = problem.Title,Text = problem.Text}; A.CallTo(() => memberRepository.Get(member.OpenId)).Returns(member); A.CallTo(() => problemService.CreateProblem(problem.Title, problem.Text.TransformLine(), member)) .WithAnyArguments() .Returns(problem); var redirect = problemController.Create(problemModel) as RedirectToRouteResult; Assert.That(redirect, Is.Not.Null); Assert.That(redirect.RouteValues["action"], Is.EqualTo("Details")); Assert.That(redirect.RouteValues["id"], Is.EqualTo(problem.Id.ToString())); }