| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- 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):
- @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)
- self.assert_element_visible(Profile.verified)
- @parameterized.expand(protected)
- def test_protected(self, fullname, username, bio):
- self.open_nitter(username)
- self.assert_element_visible(Profile.protected)
- self.assert_exact_text(fullname, Profile.fullname)
- self.assert_exact_text(f'@{username}', Profile.username)
- self.assert_text('Tweets are protected')
- if len(bio) > 0:
- self.assert_text(bio, Profile.bio)
- else:
- self.assert_element_absent(Profile.bio)
- @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
- self.open_nitter('test')
- self.assert_text(f'User "test" not found')
|