Add builder filter tests

This commit is contained in:
Sonny Bakker 2020-12-19 20:35:12 +01:00
parent aafbf8a68d
commit 0259abe243
2 changed files with 1446 additions and 0 deletions

File diff suppressed because it is too large Load diff

View file

@ -365,3 +365,93 @@ class RedditBuilderTestCase(TestCase):
builder.save() builder.save()
self.assertEquals(Post.objects.count(), 0) self.assertEquals(Post.objects.count(), 0)
def test_nsfw_not_allowed(self):
builder = RedditBuilder
subreddit = SubredditFactory(reddit_allow_nfsw=False)
mock_stream = Mock(rule=subreddit)
with builder(nsfw_mock, mock_stream) as builder:
builder.build()
builder.save()
posts = {post.remote_identifier: post for post in Post.objects.all()}
self.assertEquals(Post.objects.count(), 1)
self.assertCountEqual(("hna75r",), posts.keys())
def test_spoiler_not_allowed(self):
builder = RedditBuilder
subreddit = SubredditFactory(reddit_allow_spoiler=False)
mock_stream = Mock(rule=subreddit)
with builder(spoiler_mock, mock_stream) as builder:
builder.build()
builder.save()
posts = {post.remote_identifier: post for post in Post.objects.all()}
self.assertEquals(Post.objects.count(), 1)
self.assertCountEqual(("hm0qct",), posts.keys())
def test_already_seen_not_allowed(self):
builder = RedditBuilder
subreddit = SubredditFactory(reddit_allow_viewed=False)
mock_stream = Mock(rule=subreddit)
with builder(seen_mock, mock_stream) as builder:
builder.build()
builder.save()
posts = {post.remote_identifier: post for post in Post.objects.all()}
self.assertEquals(Post.objects.count(), 1)
self.assertCountEqual(("hna75r",), posts.keys())
def test_upvote_minimum(self):
builder = RedditBuilder
subreddit = SubredditFactory(reddit_upvotes_min=100)
mock_stream = Mock(rule=subreddit)
with builder(upvote_mock, mock_stream) as builder:
builder.build()
builder.save()
posts = {post.remote_identifier: post for post in Post.objects.all()}
self.assertEquals(Post.objects.count(), 1)
self.assertCountEqual(("hna75r",), posts.keys())
def test_comments_minimum(self):
builder = RedditBuilder
subreddit = SubredditFactory(reddit_comments_min=100)
mock_stream = Mock(rule=subreddit)
with builder(comment_mock, mock_stream) as builder:
builder.build()
builder.save()
posts = {post.remote_identifier: post for post in Post.objects.all()}
self.assertEquals(Post.objects.count(), 1)
self.assertCountEqual(("hm0qct",), posts.keys())
def test_downvote_maximum(self):
builder = RedditBuilder
subreddit = SubredditFactory(reddit_downvotes_max=20)
mock_stream = Mock(rule=subreddit)
with builder(downvote_mock, mock_stream) as builder:
builder.build()
builder.save()
posts = {post.remote_identifier: post for post in Post.objects.all()}
self.assertEquals(Post.objects.count(), 1)
self.assertCountEqual(("hm0qct",), posts.keys())