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;
        }
Пример #3
0
 public RedirectToRouteResult Edit(Post post)
 {
     var p =_repository.Save(post);
     return RedirectToAction("Details", new { postId = p.Id});
 }