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()));
        }