예제 #1
0
        public void CanGetAllApprovedComments()
        {
            Entry        entry      = SetupBlogForCommentsAndCreateEntry();
            var          repository = new DatabaseObjectProvider();
            FeedbackItem commentOne = CreateAndUpdateFeedbackWithExactStatus(entry, FeedbackType.Comment,
                                                                             FeedbackStatusFlag.Approved);
            FeedbackItem commentTwo = CreateAndUpdateFeedbackWithExactStatus(entry, FeedbackType.Comment,
                                                                             FeedbackStatusFlag.ApprovedByModerator);
            FeedbackItem commentThree = CreateAndUpdateFeedbackWithExactStatus(entry, FeedbackType.Comment,
                                                                               FeedbackStatusFlag.ConfirmedSpam);

            repository.ConfirmSpam(commentThree, null);
            FeedbackItem commentFour = CreateAndUpdateFeedbackWithExactStatus(entry, FeedbackType.Comment,
                                                                              FeedbackStatusFlag.FalsePositive);

            //We expect three of the four.
            IPagedCollection <FeedbackItem> feedback = repository.GetPagedFeedback(0, 10,
                                                                                   FeedbackStatusFlag.
                                                                                   Approved,
                                                                                   FeedbackStatusFlag.None,
                                                                                   FeedbackType.Comment);

            Assert.AreEqual(3, feedback.Count, "We expected three to match.");

            //Expect reverse order
            Assert.AreEqual(commentOne.Id, feedback[2].Id, "The first does not match");
            Assert.AreEqual(commentTwo.Id, feedback[1].Id, "The first does not match");
            Assert.AreEqual(commentFour.Id, feedback[0].Id, "The first does not match");
        }
예제 #2
0
        public void ConfirmSpamRemovesApprovedBitAndSetsDeletedBit()
        {
            Entry        entry      = SetupBlogForCommentsAndCreateEntry();
            var          repository = new DatabaseObjectProvider();
            FeedbackItem comment    = CreateAndUpdateFeedbackWithExactStatus(entry, FeedbackType.Comment,
                                                                             FeedbackStatusFlag.Approved);

            Assert.IsTrue(comment.Approved, "should be approved");

            repository.ConfirmSpam(comment, null);
            comment = repository.Get(comment.Id);
            Assert.IsFalse(comment.Approved, "Should not be approved now.");
            Assert.IsTrue(comment.Deleted, "Should be moved to deleted folder now.");
        }
예제 #3
0
        public void DestroyCommentByStatusDestroysOnlyThatStatus()
        {
            Entry entry      = SetupBlogForCommentsAndCreateEntry();
            var   repository = new DatabaseObjectProvider();

            CreateApprovedComments(3, entry);
            CreateFlaggedSpam(2, entry);
            CreateDeletedComments(3, entry);

            FeedbackItem newComment = CreateAndUpdateFeedbackWithExactStatus(entry, FeedbackType.Comment,
                                                                             FeedbackStatusFlag.Approved);

            repository.ConfirmSpam(newComment, null);
            newComment = CreateAndUpdateFeedbackWithExactStatus(entry, FeedbackType.Comment,
                                                                FeedbackStatusFlag.FlaggedAsSpam);
            Assert.IsFalse(newComment.Approved, "should not be approved");
            repository.Delete(newComment); //Move it to trash.

            FeedbackCounts counts = repository.GetFeedbackCounts();

            Assert.AreEqual(3, counts.ApprovedCount, "Expected three approved still");
            Assert.AreEqual(2, counts.FlaggedAsSpamCount, "Expected two items flagged as spam.");
            Assert.AreEqual(5, counts.DeletedCount, "Expected five in the trash");

            repository.Destroy(FeedbackStatusFlag.FlaggedAsSpam);
            counts = repository.GetFeedbackCounts();
            Assert.AreEqual(3, counts.ApprovedCount, "Expected three approved still");
            Assert.AreEqual(0, counts.FlaggedAsSpamCount, "Expected the items flagged as spam to be gone.");
            Assert.AreEqual(5, counts.DeletedCount, "Destroying all flagged items should not touch the trash bin.");

            CreateFlaggedSpam(3, entry);
            counts = repository.GetFeedbackCounts();
            Assert.AreEqual(3, counts.FlaggedAsSpamCount, "Expected three items flagged as spam.");

            repository.Destroy(FeedbackStatusFlag.Deleted);
            counts = repository.GetFeedbackCounts();
            Assert.AreEqual(3, counts.ApprovedCount, "Expected three approved still");
            Assert.AreEqual(3, counts.FlaggedAsSpamCount, "Expected three approved still");
            Assert.AreEqual(0, counts.DeletedCount, "Destroying all deleted items should not touch the flagged items.");
        }