mirror of
https://github.com/zedeus/nitter.git
synced 2025-12-06 03:55:36 -05:00
Use test paramerization
This commit is contained in:
@@ -1,44 +1,56 @@
|
||||
from base import BaseTestCase, Profile
|
||||
from parameterized import parameterized
|
||||
|
||||
profiles = [
|
||||
['Test account', 'mobile_test',
|
||||
'Test Account. test test Testing username with @mobile_test_2 and a #hashtag'],
|
||||
['mobile test 2', 'mobile_test_2', '']
|
||||
]
|
||||
|
||||
verified = [['jack'], ['elonmusk']]
|
||||
|
||||
protected = [
|
||||
['mobile test 7', 'mobile_test_7', ''],
|
||||
['Randy', 'Poop', 'Social media fanatic.']
|
||||
]
|
||||
|
||||
invalid = [['thisprofiledoesntexist'], ['%']]
|
||||
|
||||
|
||||
class TestProfile(BaseTestCase):
|
||||
def test_data(self):
|
||||
self.open_nitter('mobile_test')
|
||||
self.assert_exact_text('Test account', Profile.fullname)
|
||||
self.assert_exact_text('@mobile_test', Profile.username)
|
||||
self.assert_exact_text('Test Account. test test Testing username with @mobile_test_2 and a #hashtag',
|
||||
Profile.bio)
|
||||
@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)
|
||||
|
||||
self.open_nitter('mobile_test_2')
|
||||
self.assert_exact_text('mobile test 2', Profile.fullname)
|
||||
self.assert_exact_text('@mobile_test_2', Profile.username)
|
||||
self.assert_element_not_visible(Profile.bio)
|
||||
if len(bio) > 0:
|
||||
self.assert_exact_text(bio, Profile.bio)
|
||||
else:
|
||||
self.assert_element_absent(Profile.bio)
|
||||
|
||||
def test_verified(self):
|
||||
self.open_nitter('jack')
|
||||
@parameterized.expand(verified)
|
||||
def test_verified(self, username):
|
||||
self.open_nitter(username)
|
||||
self.assert_element_visible(Profile.verified)
|
||||
|
||||
self.open_nitter('elonmusk')
|
||||
self.assert_element_visible(Profile.verified)
|
||||
|
||||
def test_protected(self):
|
||||
self.open_nitter('mobile_test_7')
|
||||
@parameterized.expand(protected)
|
||||
def test_protected(self, fullname, username, bio):
|
||||
self.open_nitter(username)
|
||||
self.assert_element_visible(Profile.protected)
|
||||
self.assert_exact_text('mobile test 7', Profile.fullname)
|
||||
self.assert_exact_text('@mobile_test_7', Profile.username)
|
||||
self.assert_exact_text(fullname, Profile.fullname)
|
||||
self.assert_exact_text(f'@{username}', Profile.username)
|
||||
self.assert_text('Tweets are protected')
|
||||
|
||||
self.open_nitter('poop')
|
||||
self.assert_element_visible(Profile.protected)
|
||||
self.assert_exact_text('Randy', Profile.fullname)
|
||||
self.assert_exact_text('@Poop', Profile.username)
|
||||
self.assert_text('Social media fanatic.', Profile.bio)
|
||||
self.assert_text('Tweets are protected')
|
||||
if len(bio) > 0:
|
||||
self.assert_text(bio, Profile.bio)
|
||||
else:
|
||||
self.assert_element_absent(Profile.bio)
|
||||
|
||||
def test_invalid_username(self):
|
||||
for p in ['test', 'thisprofiledoesntexist', '%']:
|
||||
self.open_nitter(p)
|
||||
self.assert_text(f'User "{p}" not found')
|
||||
@parameterized.expand(invalid)
|
||||
def test_invalid_username(self, username):
|
||||
self.open_nitter(username)
|
||||
self.assert_text(f'User "{username}" not found')
|
||||
|
||||
def test_suspended(self):
|
||||
# TODO: detect suspended
|
||||
|
||||
Reference in New Issue
Block a user