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 bool Equals(VoteId other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return other.ForumPostId == ForumPostId && string.Equals(other.AddedBy, AddedBy); }