40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
#!/usr/bin/env python3
|
|
# coding=utf-8
|
|
|
|
import praw
|
|
import pytest
|
|
|
|
from bdfr.archive_entry.comment_archive_entry import CommentArchiveEntry
|
|
|
|
|
|
@pytest.mark.online
|
|
@pytest.mark.reddit
|
|
@pytest.mark.parametrize(('test_comment_id', 'expected_dict'), (
|
|
('gstd4hk', {
|
|
'author': 'james_pic',
|
|
'subreddit': 'Python',
|
|
'submission': 'mgi4op',
|
|
'submission_title': '76% Faster CPython',
|
|
'distinguished': None,
|
|
}),
|
|
))
|
|
def test_get_comment_details(test_comment_id: str, expected_dict: dict, reddit_instance: praw.Reddit):
|
|
comment = reddit_instance.comment(id=test_comment_id)
|
|
test_entry = CommentArchiveEntry(comment)
|
|
result = test_entry.compile()
|
|
assert all([result.get(key) == expected_dict[key] for key in expected_dict.keys()])
|
|
|
|
|
|
@pytest.mark.online
|
|
@pytest.mark.reddit
|
|
@pytest.mark.parametrize(('test_comment_id', 'expected_min_comments'), (
|
|
('gstd4hk', 4),
|
|
('gsvyste', 3),
|
|
('gsxnvvb', 5),
|
|
))
|
|
def test_get_comment_replies(test_comment_id: str, expected_min_comments: int, reddit_instance: praw.Reddit):
|
|
comment = reddit_instance.comment(id=test_comment_id)
|
|
test_entry = CommentArchiveEntry(comment)
|
|
result = test_entry.compile()
|
|
assert len(result.get('replies')) >= expected_min_comments
|