add test for user pages
This commit is contained in:
@@ -48,6 +48,9 @@ SUBREDDIT_PROMPTS = OrderedDict([
|
|||||||
('user-1', ('/u/spez', '/u/spez', None)),
|
('user-1', ('/u/spez', '/u/spez', None)),
|
||||||
('user-new', ('/u/spez/new', '/u/spez', 'new')),
|
('user-new', ('/u/spez/new', '/u/spez', 'new')),
|
||||||
('user-top-all', ('/u/spez/top-all', '/u/spez', 'top-all')),
|
('user-top-all', ('/u/spez/top-all', '/u/spez', 'top-all')),
|
||||||
|
('user-overview', ('/u/spez/overview', '/u/spez/overview', None)),
|
||||||
|
('user-submitted', ('/u/spez/submitted', '/u/spez/submitted', None)),
|
||||||
|
('user-comments', ('/u/spez/comments', '/u/spez/comments', None)),
|
||||||
('multi-0', ('/user/multi-mod/m/art', '/u/multi-mod/m/art', None)),
|
('multi-0', ('/user/multi-mod/m/art', '/u/multi-mod/m/art', None)),
|
||||||
('multi-1', ('/u/multi-mod/m/art', '/u/multi-mod/m/art', None)),
|
('multi-1', ('/u/multi-mod/m/art', '/u/multi-mod/m/art', None)),
|
||||||
('multi-top', ('/u/multi-mod/m/art/top', '/u/multi-mod/m/art', 'top')),
|
('multi-top', ('/u/multi-mod/m/art/top', '/u/multi-mod/m/art', 'top')),
|
||||||
@@ -63,7 +66,10 @@ SUBREDDIT_AUTH_PROMPTS = OrderedDict([
|
|||||||
('me-1', ('/u/me', '/u/me', None)),
|
('me-1', ('/u/me', '/u/me', None)),
|
||||||
('me-top', ('/u/me/top', '/u/me', 'top')),
|
('me-top', ('/u/me/top', '/u/me', 'top')),
|
||||||
('me-top-all', ('/u/me/top-all', '/u/me', 'top-all')),
|
('me-top-all', ('/u/me/top-all', '/u/me', 'top-all')),
|
||||||
('user-saved', ('/u/saved', '/u/saved', None)),
|
('user-saved', ('/u/me/saved', '/u/me/saved', None)),
|
||||||
|
('user-upvoted', ('/u/me/upvoted', '/u/me/upvoted', None)),
|
||||||
|
('user-downvoted', ('/u/me/downvoted', '/u/me/downvoted', None)),
|
||||||
|
('user-hidden', ('/u/me/hidden', '/u/me/hidden', None)),
|
||||||
('me-multi', ('/u/me/m/redditpets/top-all', '/u/{username}/m/redditpets', 'top-all')),
|
('me-multi', ('/u/me/m/redditpets/top-all', '/u/{username}/m/redditpets', 'top-all')),
|
||||||
])
|
])
|
||||||
|
|
||||||
@@ -484,7 +490,6 @@ def test_content_subreddit_me(reddit, oauth, refresh_token, terminal):
|
|||||||
exceptions.NoSubmissionsError)
|
exceptions.NoSubmissionsError)
|
||||||
assert terminal.loader.exception.name == '/u/me'
|
assert terminal.loader.exception.name == '/u/me'
|
||||||
|
|
||||||
|
|
||||||
def test_content_subreddit_nsfw_filter(reddit, oauth, refresh_token, terminal):
|
def test_content_subreddit_nsfw_filter(reddit, oauth, refresh_token, terminal):
|
||||||
|
|
||||||
# NSFW subreddits should load if not logged in
|
# NSFW subreddits should load if not logged in
|
||||||
@@ -553,14 +558,14 @@ def test_content_subreddit_saved(reddit, oauth, refresh_token, terminal):
|
|||||||
|
|
||||||
# Not logged in
|
# Not logged in
|
||||||
with terminal.loader():
|
with terminal.loader():
|
||||||
SubredditContent.from_name(reddit, '/u/saved', terminal.loader)
|
SubredditContent.from_name(reddit, '/u/me/saved', terminal.loader)
|
||||||
assert isinstance(terminal.loader.exception, exceptions.AccountError)
|
assert isinstance(terminal.loader.exception, exceptions.AccountError)
|
||||||
|
|
||||||
# Logged in
|
# Logged in
|
||||||
oauth.config.refresh_token = refresh_token
|
oauth.config.refresh_token = refresh_token
|
||||||
oauth.authorize()
|
oauth.authorize()
|
||||||
with terminal.loader():
|
with terminal.loader():
|
||||||
SubredditContent.from_name(reddit, '/u/saved', terminal.loader)
|
SubredditContent.from_name(reddit, '/u/me/saved', terminal.loader)
|
||||||
|
|
||||||
|
|
||||||
def test_content_subscription_empty(reddit, terminal):
|
def test_content_subscription_empty(reddit, terminal):
|
||||||
|
|||||||
@@ -422,17 +422,26 @@ def test_subreddit_open_multireddits(subreddit_page, refresh_token):
|
|||||||
assert loop.called
|
assert loop.called
|
||||||
|
|
||||||
|
|
||||||
def test_subreddit_saved(subreddit_page, refresh_token):
|
def test_subreddit_private_user_pages(subreddit_page, refresh_token):
|
||||||
|
|
||||||
# Log in
|
# Log in
|
||||||
subreddit_page.config.refresh_token = refresh_token
|
subreddit_page.config.refresh_token = refresh_token
|
||||||
subreddit_page.oauth.authorize()
|
subreddit_page.oauth.authorize()
|
||||||
|
|
||||||
subreddit_page.refresh_content(name='/u/saved')
|
subreddit_page.refresh_content(name='/u/me/saved')
|
||||||
|
subreddit_page.draw()
|
||||||
|
|
||||||
|
subreddit_page.refresh_content(name='/u/me/hidden')
|
||||||
|
subreddit_page.draw()
|
||||||
|
|
||||||
|
subreddit_page.refresh_content(name='/u/me/upvoted')
|
||||||
|
subreddit_page.draw()
|
||||||
|
|
||||||
|
subreddit_page.refresh_content(name='/u/me/downvoted')
|
||||||
subreddit_page.draw()
|
subreddit_page.draw()
|
||||||
|
|
||||||
|
|
||||||
def test_subreddit_user_overview(subreddit_page, refresh_token):
|
def test_subreddit_user_pages(subreddit_page, refresh_token):
|
||||||
|
|
||||||
# Log in
|
# Log in
|
||||||
subreddit_page.config.refresh_token = refresh_token
|
subreddit_page.config.refresh_token = refresh_token
|
||||||
@@ -441,9 +450,21 @@ def test_subreddit_user_overview(subreddit_page, refresh_token):
|
|||||||
# Pick a user that has a lot of recent comments, so we can make sure that
|
# Pick a user that has a lot of recent comments, so we can make sure that
|
||||||
# SavedComment objects have all of the properties necessary to be drawn
|
# SavedComment objects have all of the properties necessary to be drawn
|
||||||
# on the submission page.
|
# on the submission page.
|
||||||
|
|
||||||
|
# Should default to the overview page
|
||||||
subreddit_page.refresh_content(name='/u/spez')
|
subreddit_page.refresh_content(name='/u/spez')
|
||||||
subreddit_page.draw()
|
subreddit_page.draw()
|
||||||
|
|
||||||
|
subreddit_page.refresh_content(name='/u/spez/overview')
|
||||||
|
subreddit_page.draw()
|
||||||
|
|
||||||
|
subreddit_page.refresh_content(name='/u/spez/submitted')
|
||||||
|
subreddit_page.draw()
|
||||||
|
|
||||||
|
subreddit_page.refresh_content(name='/u/spez/comments')
|
||||||
|
subreddit_page.draw()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def test_subreddit_draw_header(subreddit_page, refresh_token, terminal):
|
def test_subreddit_draw_header(subreddit_page, refresh_token, terminal):
|
||||||
|
|
||||||
@@ -465,23 +486,36 @@ def test_subreddit_draw_header(subreddit_page, refresh_token, terminal):
|
|||||||
# /u/me alias should be renamed in the header
|
# /u/me alias should be renamed in the header
|
||||||
subreddit_page.refresh_content(name='/u/me')
|
subreddit_page.refresh_content(name='/u/me')
|
||||||
subreddit_page.draw()
|
subreddit_page.draw()
|
||||||
text = 'My Submissions'.encode('utf-8')
|
text = 'My Overview'.encode('utf-8')
|
||||||
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
|
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
|
||||||
|
|
||||||
subreddit_page.refresh_content(name='/u/me/new')
|
subreddit_page.refresh_content(name='/u/me/new')
|
||||||
subreddit_page.draw()
|
subreddit_page.draw()
|
||||||
text = 'My Submissions'.encode('utf-8')
|
text = 'My Overview'.encode('utf-8')
|
||||||
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
|
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
|
||||||
|
|
||||||
# /u/saved alias should be renamed in the header
|
# /u/saved alias should be renamed in the header
|
||||||
subreddit_page.refresh_content(name='/u/saved')
|
subreddit_page.refresh_content(name='/u/me/saved')
|
||||||
subreddit_page.draw()
|
subreddit_page.draw()
|
||||||
text = 'My Saved Submissions'.encode('utf-8')
|
text = 'My Saved'.encode('utf-8')
|
||||||
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
|
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
|
||||||
|
|
||||||
subreddit_page.refresh_content(name='/u/saved/new')
|
# /u/upvoted alias should be renamed in the header
|
||||||
|
subreddit_page.refresh_content(name='/u/me/upvoted')
|
||||||
subreddit_page.draw()
|
subreddit_page.draw()
|
||||||
text = 'My Saved Submissions'.encode('utf-8')
|
text = 'My Upvoted'.encode('utf-8')
|
||||||
|
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
|
||||||
|
|
||||||
|
# /u/downvoted alias should be renamed in the header
|
||||||
|
subreddit_page.refresh_content(name='/u/me/downvoted')
|
||||||
|
subreddit_page.draw()
|
||||||
|
text = 'My Downvoted'.encode('utf-8')
|
||||||
|
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
|
||||||
|
|
||||||
|
# /u/hidden alias should be renamed in the header
|
||||||
|
subreddit_page.refresh_content(name='/u/me/hidden')
|
||||||
|
subreddit_page.draw()
|
||||||
|
text = 'My Hidden'.encode('utf-8')
|
||||||
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
|
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
|
||||||
|
|
||||||
|
|
||||||
@@ -524,4 +558,4 @@ def test_subreddit_hide_submission(subreddit_page, refresh_token):
|
|||||||
|
|
||||||
# Make sure that the status was actually updated on the server side
|
# Make sure that the status was actually updated on the server side
|
||||||
data['object'].refresh()
|
data['object'].refresh()
|
||||||
assert data['object'].hidden is False
|
assert data['object'].hidden is False
|
||||||
|
|||||||
Reference in New Issue
Block a user