test_followers.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # SPDX-License-Identifier: AGPL-3.0-only
  2. from base import BaseTestCase, Timeline
  3. class FollowersTest(BaseTestCase):
  4. """Tests for followers and following pages"""
  5. def test_followers_page_loads(self):
  6. """Test that followers page loads and shows users"""
  7. self.open_nitter('jack/followers')
  8. self.assert_title_contains('following @jack')
  9. # Check for user list
  10. self.assert_element('.timeline-item')
  11. def test_following_page_loads(self):
  12. """Test that following page loads and shows users"""
  13. self.open_nitter('jack/following')
  14. self.assert_title_contains('followed by @jack')
  15. # Check for user list
  16. self.assert_element('.timeline-item')
  17. def test_followers_has_navigation_tabs(self):
  18. """Test that followers page has following/followers tabs"""
  19. self.open_nitter('jack/followers')
  20. self.assert_element('.profile-statlist')
  21. # Check for Following and Followers links
  22. self.assert_element('a[href="/jack/following"]')
  23. self.assert_element('a[href="/jack/followers"]')
  24. def test_following_pagination(self):
  25. """Test that following page has load more button or scroll-to-top"""
  26. self.open_nitter('jack/following')
  27. # Should have either more button or top-ref (scroll to top arrow)
  28. try:
  29. self.assert_element('.show-more')
  30. except:
  31. self.assert_element('.top-ref')
  32. def test_nonexistent_user_followers(self):
  33. """Test 404 for non-existent user"""
  34. self.open_nitter('this_user_definitely_does_not_exist_12345/followers')
  35. self.assert_element('.error-panel')
  36. self.assert_text_visible('not found')