public static void Setup(TestContext testContext) { // generate a mock repository _repository = MockRepository.GenerateStub<IPostRepository>(); // the subject under test Sut = new PostController(_repository); // a random id to test postId = new Random().Next(); // set a dumy post ExpectedModel = new Post(postId, "","","",0,"",DateTime.Now, DateTime.MinValue); // stub the repo to return a post when it is called GetById with a id is PostId _repository.Stub(repo => repo.GetById(postId)).Return(ExpectedModel); // the result returned by calling Edit to the controller Actual = Sut.Edit(postId).Model; }
public Post Save(Post post) { if (!post.Id.HasValue) { var newpost = new Post(_posts.Count, post.Title, post.Description, post.Owner, post.Price, post.Image,post.CreatedTime, post.EndTime); _posts.Add(newpost); return newpost; } var existing = _posts.FirstOrDefault(p => p.Id == post.Id); if (existing != null) { _posts.Remove(existing); _posts.Add(post); } return post; }
public RedirectToRouteResult Edit(Post post) { var p =_repository.Save(post); return RedirectToAction("Details", new { postId = p.Id}); }