public void Post_VoteForPostTest_ValidExecutionOfTheMethod() { FakeRepository<Post> postFakeRepository = new FakeRepository<Post>(); FakeRepository<User> userFakeRepository = new FakeRepository<User>(); FakeRepository<Thread> threadFakeRepository = new FakeRepository<Thread>(); FakeRepository<Vote> voteFakeRepository = new FakeRepository<Vote>(); FakeRepository<Comment> commentFakeRepository = new FakeRepository<Comment>(); User user = new User() { AuthCode = "0123456789012345678901234567890123456789", Username = "******", Nickname = "TestNickname", SessionKey = "0SuGqVGqRwitYtijDvHlVfHGotklitbwHdYFkgwIRcIQjRASPQ" }; Thread thread = new Thread() { Title = "Test title", Creator = user, Content = "Test Content", DateCreated = DateTime.Now }; Post post = new Post() { Content = "Test post content", DateCreated = DateTime.Now, User = user, Thread = thread }; VoteModel voteModel = new VoteModel() { Value = 5 }; userFakeRepository.entities.Add(user); threadFakeRepository.entities.Add(thread); postFakeRepository.entities.Add(post); PostsController postsController = new PostsController( postFakeRepository, userFakeRepository, threadFakeRepository, voteFakeRepository, commentFakeRepository); SetupController(postsController); var response = postsController.VoteForPost(voteModel, post.Id, user.SessionKey); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); }
public void Post_VoteForPostTest_InvalidVoteValue_ValueTooLarge() { FakeRepository<Post> postFakeRepository = new FakeRepository<Post>(); FakeRepository<User> userFakeRepository = new FakeRepository<User>(); FakeRepository<Thread> threadFakeRepository = new FakeRepository<Thread>(); FakeRepository<Vote> voteFakeRepository = new FakeRepository<Vote>(); FakeRepository<Comment> commentFakeRepository = new FakeRepository<Comment>(); User user = new User() { AuthCode = "0123456789012345678901234567890123456789", Username = "******", Nickname = "TestNickname", SessionKey = "0SuGqVGqRwitYtijDvHlVfHGotklitbwHdYFkgwIRcIQjRASPQ" }; Thread thread = new Thread() { Title = "Test title", Creator = user, Content = "Test Content", DateCreated = DateTime.Now }; Post post = new Post() { Content = "Test post content", DateCreated = DateTime.Now, User = user, Thread = thread }; VoteModel voteModel = new VoteModel() { Value = 20 // Invalid vote value, too large. }; userFakeRepository.entities.Add(user); threadFakeRepository.entities.Add(thread); postFakeRepository.entities.Add(post); PostsController postsController = new PostsController( postFakeRepository, userFakeRepository, threadFakeRepository, voteFakeRepository, commentFakeRepository); SetupController(postsController); int invalidPostId = 100; var response = postsController.VoteForPost(voteModel, invalidPostId, user.SessionKey); }