nitter/tests/test_profile.py

59 lines
1.8 KiB
Python
Raw Normal View History

2019-06-28 02:56:02 +00:00
from base import BaseTestCase, Profile
2019-06-28 17:18:52 +00:00
from parameterized import parameterized
2019-06-28 02:56:02 +00:00
2019-06-28 17:18:52 +00:00
profiles = [
['Test account', 'mobile_test',
'Test Account. test test Testing username with @mobile_test_2 and a #hashtag'],
['mobile test 2', 'mobile_test_2', '']
]
2019-06-28 02:56:02 +00:00
2019-06-28 17:18:52 +00:00
verified = [['jack'], ['elonmusk']]
protected = [
['mobile test 7', 'mobile_test_7', ''],
['Randy', 'Poop', 'Social media fanatic.']
]
invalid = [['thisprofiledoesntexist'], ['%']]
2019-06-28 02:56:02 +00:00
2019-06-28 17:18:52 +00:00
class TestProfile(BaseTestCase):
@parameterized.expand(profiles)
def test_data(self, fullname, username, bio):
self.open_nitter(username)
self.assert_exact_text(fullname, Profile.fullname)
self.assert_exact_text(f'@{username}', Profile.username)
if len(bio) > 0:
self.assert_exact_text(bio, Profile.bio)
else:
self.assert_element_absent(Profile.bio)
@parameterized.expand(verified)
def test_verified(self, username):
self.open_nitter(username)
2019-06-28 02:56:02 +00:00
self.assert_element_visible(Profile.verified)
2019-06-28 17:18:52 +00:00
@parameterized.expand(protected)
def test_protected(self, fullname, username, bio):
self.open_nitter(username)
2019-06-28 02:56:02 +00:00
self.assert_element_visible(Profile.protected)
2019-06-28 17:18:52 +00:00
self.assert_exact_text(fullname, Profile.fullname)
self.assert_exact_text(f'@{username}', Profile.username)
2019-06-28 02:56:02 +00:00
self.assert_text('Tweets are protected')
2019-06-28 17:18:52 +00:00
if len(bio) > 0:
self.assert_text(bio, Profile.bio)
else:
self.assert_element_absent(Profile.bio)
2019-06-28 02:56:02 +00:00
2019-06-28 17:18:52 +00:00
@parameterized.expand(invalid)
def test_invalid_username(self, username):
self.open_nitter(username)
self.assert_text(f'User "{username}" not found')
2019-06-28 02:56:02 +00:00
def test_suspended(self):
# TODO: detect suspended
self.open_nitter('test')
self.assert_text(f'User "test" not found')