test_profile.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. from base import BaseTestCase, Profile
  2. class TestProfile(BaseTestCase):
  3. def test_data(self):
  4. self.open_nitter('mobile_test')
  5. self.assert_exact_text('Test account', Profile.fullname)
  6. self.assert_exact_text('@mobile_test', Profile.username)
  7. self.assert_exact_text('Test Account. test test Testing username with @mobile_test_2 and a #hashtag',
  8. Profile.bio)
  9. self.open_nitter('mobile_test_2')
  10. self.assert_exact_text('mobile test 2', Profile.fullname)
  11. self.assert_exact_text('@mobile_test_2', Profile.username)
  12. self.assert_element_not_visible(Profile.bio)
  13. def test_verified(self):
  14. self.open_nitter('jack')
  15. self.assert_element_visible(Profile.verified)
  16. self.open_nitter('elonmusk')
  17. self.assert_element_visible(Profile.verified)
  18. def test_protected(self):
  19. self.open_nitter('mobile_test_7')
  20. self.assert_element_visible(Profile.protected)
  21. self.assert_exact_text('mobile test 7', Profile.fullname)
  22. self.assert_exact_text('@mobile_test_7', Profile.username)
  23. self.assert_text('Tweets are protected')
  24. self.open_nitter('poop')
  25. self.assert_element_visible(Profile.protected)
  26. self.assert_exact_text('Randy', Profile.fullname)
  27. self.assert_exact_text('@Poop', Profile.username)
  28. self.assert_text('Social media fanatic.', Profile.bio)
  29. self.assert_text('Tweets are protected')
  30. def test_invalid_username(self):
  31. for p in ['test', 'thisprofiledoesntexist', '%']:
  32. self.open_nitter(p)
  33. self.assert_text(f'User "{p}" not found')
  34. def test_suspended(self):
  35. # TODO: detect suspended
  36. self.open_nitter('test')
  37. self.assert_text(f'User "test" not found')