Beispiel #1
0
        public void CanInsertAndDeleteImage()
        {
            var   repository = new DatabaseObjectProvider();
            int   imageId    = 0;
            Image image      = CreateImageInstance();

            image.IsActive = true;
            Image loadedImage = null;

            try
            {
                imageId     = repository.Insert(image, singlePixelBytes);
                loadedImage = repository.GetImage(imageId, false /* activeOnly */);
                Assert.IsNotNull(loadedImage);
                Assert.AreEqual(image.CategoryID, loadedImage.CategoryID);
            }
            finally
            {
                if (loadedImage != null)
                {
                    repository.Delete(loadedImage);
                }
                Assert.IsNull(repository.GetImage(imageId, false /* activeOnly */));
            }
        }
Beispiel #2
0
        public void OnlyApprovedItemsContributeToEntryFeedbackCount()
        {
            Entry entry      = SetupBlogForCommentsAndCreateEntry();
            var   repository = new DatabaseObjectProvider();
            int   entryId    = entry.Id;

            CreateAndUpdateFeedbackWithExactStatus(entry, FeedbackType.Comment, FeedbackStatusFlag.Approved);
            entry = UnitTestHelper.GetEntry(entryId, PostConfig.None, false);
            Assert.AreEqual(1, entry.FeedBackCount, "Expected one approved feedback entry.");

            FeedbackItem comment = CreateAndUpdateFeedbackWithExactStatus(entry, FeedbackType.Comment,
                                                                          FeedbackStatusFlag.FlaggedAsSpam);

            entry = UnitTestHelper.GetEntry(entryId, PostConfig.None, false);
            Assert.AreEqual(1, entry.FeedBackCount, "Expected one approved feedback entry.");

            comment.Approved = true;
            repository.Update(comment);
            entry = UnitTestHelper.GetEntry(entryId, PostConfig.None, false);
            Assert.AreEqual(2, entry.FeedBackCount,
                            "After approving the second comment, expected two approved feedback entry.");

            comment.Approved = false;
            repository.Update(comment);
            entry = UnitTestHelper.GetEntry(entryId, PostConfig.None, false);
            Assert.AreEqual(1, entry.FeedBackCount,
                            "After un-approving the second comment, expected one approved feedback entry.");

            repository.Delete(comment);
            entry = UnitTestHelper.GetEntry(entryId, PostConfig.None, false);
            Assert.AreEqual(1, entry.FeedBackCount,
                            "After un-approving the second comment, expected one approved feedback entry.");
        }
Beispiel #3
0
        public void DeleteCommentSetsDeletedBit()
        {
            Entry        entry      = SetupBlogForCommentsAndCreateEntry();
            var          repository = new DatabaseObjectProvider();
            FeedbackItem comment    = CreateAndUpdateFeedbackWithExactStatus(entry, FeedbackType.Comment, FeedbackStatusFlag.Approved);

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

            repository.Delete(comment);
            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.");
        }
Beispiel #4
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.");
        }
Beispiel #5
0
        public void DeleteImageThrowsArgumentNullException()
        {
            var repository = new DatabaseObjectProvider();

            UnitTestHelper.AssertThrowsArgumentNullException(() => repository.Delete((Image)null));
        }