Add builder filter tests
This commit is contained in:
parent
aafbf8a68d
commit
0259abe243
2 changed files with 1446 additions and 0 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -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())
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue