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()
|
||||
|
||||
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