public void Votes_Can_Be_Cast_For_A_Given_Post() { using (var trx=_session.BeginTransaction()) { var forum = new Forum { AddedBy = "Admin", DateAdded = DateTime.Now.AddDays(-1), Description = "Test Forum", Importance = 0, Moderated = false, Path = "", Title = "" }; var forumPost = new ForumPost { AddedBy = "Admin", DateAdded = DateTime.Now.AddDays(-2), AddedByIP = "127.0.0.1", Approved = true, Closed = false, Body = "", Forum = forum, Title = "Sugar", Path = "", ParentPostId = null }; forum.Posts = new List<ForumPost> {forumPost}; _session.Save(forum); var voteId = new VoteId {ForumPostId = forumPost.Id, AddedBy = "user"}; new PersistenceSpecification<ForumPostVote>(_session, new PocoComparer()) //.CheckProperty(x => x.Id, voteId) .CheckProperty(x => x.DateAdded, DateTime.Now.AddHours(-1)) .CheckProperty(x => x.AddedByIP, "0.0.0.0") .CheckProperty(x => x.Direction, 1) .CheckProperty(x=>x.AddedBy,"user99") .VerifyTheMappings(); trx.Rollback(); } }
public void Voting_On_A_Post_Persists_Updated_Vote_Count() { using (var trx = _session.BeginTransaction()) { var forum = new Forum { AddedBy = "Admin", DateAdded = DateTime.Now.AddDays(-1), Description = "Test Forum", Importance = 0, Moderated = false, Path = "", Title = "" }; var forumPost = new ForumPost { AddedBy = "Admin", DateAdded = DateTime.Now.AddDays(-2), AddedByIP = "127.0.0.1", Approved = true, Closed = false, Body = "", Forum = forum, Title = "Sugar", Path = "", ParentPostId = null }; _session.Save(forum); var voteId = new VoteId {AddedBy = "user1", ForumPostId = forumPost.Id}; var vote = new ForumPostVote { Post = forumPost, AddedByIP = "0.1.1.1", DateAdded = DateTime.Now.AddHours(-1), Direction = -1, AddedBy = "user99" }; forumPost.Votes=new List<ForumPostVote>{vote}; forumPost.VoteCount = vote.Direction; _session.Save(forumPost); var persistedPost = _session.Get<ForumPost>(forumPost.Id); var savedVote = _session.Get<ForumPostVote>(vote.Id); Assert.That(persistedPost.VoteCount,Is.EqualTo(-1)); Assert.That(savedVote.Id,Is.EqualTo(persistedPost.Id)); trx.Rollback(); } }
public void Forum_Post_Replies_Are_Persisted_And_Retrieved() { using (var trx = _session.BeginTransaction()) { var forum = new Forum { AddedBy = "Admin", DateAdded = DateTime.Now.AddDays(-1), Description = "Test Forum", Importance = 0, Moderated = false, Path = "", Title = "" }; var forumPost = new ForumPost { AddedBy = "Admin", DateAdded = DateTime.Now.AddDays(-2), AddedByIP = "127.0.0.1", Approved = true, Closed = false, Body = "", Forum = forum, Title = "Sugar", Path = "", ParentPostId = null }; _session.Save(forum); var forumPostReply = new ForumPost { AddedBy = "User", DateAdded = DateTime.Now.AddDays(-1), AddedByIP = "1.0.0.1", Approved = true, Closed = false, Body = "This is the reply", Forum = forum, Title = "Sugar", Path = "", ParentPostId = forumPost.Id }; forumPost.Replies = new List<ForumPost>{forumPostReply}; _session.Save(forumPost); new PersistenceSpecification<ForumPost>(_session, new PocoComparer()) .VerifyTheMappings(forumPost); trx.Rollback(); } }