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();
            }
        }
Exemplo n.º 3
0
 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);
 }