test_timeline.py 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. from base import BaseTestCase, Timeline
  2. from parameterized import parameterized
  3. normal = [['mobile_test'], ['mobile_test_2']]
  4. after = [['mobile_test', '627635134573862912'],
  5. ['mobile_test_2', '377196342281388032']]
  6. short = [['mobile_test_6'], ['mobile_test_8'], ['picman']]
  7. no_more = [['mobile_test_8?after=159455542543257601']]
  8. none_found = [['mobile_test_8?after=159455542543257600']]
  9. empty = [['maybethis'], ['mobile_test_10']]
  10. protected = [['mobile_test_7'], ['Poop']]
  11. class TweetTest(BaseTestCase):
  12. @parameterized.expand(normal)
  13. def test_timeline(self, username):
  14. self.open_nitter(username)
  15. self.assert_element_present(Timeline.older)
  16. self.assert_element_absent(Timeline.newest)
  17. self.assert_element_absent(Timeline.end)
  18. self.assert_element_absent(Timeline.none)
  19. @parameterized.expand(after)
  20. def test_after(self, username, index):
  21. self.open_nitter(f'{username}?after={index}')
  22. self.assert_element_present(Timeline.newest)
  23. self.assert_element_present(Timeline.older)
  24. self.assert_element_absent(Timeline.end)
  25. self.assert_element_absent(Timeline.none)
  26. @parameterized.expand(short)
  27. def test_short(self, username):
  28. self.open_nitter(username)
  29. self.assert_text('No more items', Timeline.end)
  30. self.assert_element_absent(Timeline.newest)
  31. self.assert_element_absent(Timeline.older)
  32. @parameterized.expand(no_more)
  33. def test_no_more(self, username):
  34. self.open_nitter(username)
  35. self.assert_text('No more items', Timeline.end)
  36. self.assert_element_present(Timeline.newest)
  37. self.assert_element_absent(Timeline.older)
  38. @parameterized.expand(none_found)
  39. def test_none_found(self, username):
  40. self.open_nitter(username)
  41. self.assert_text('No items found', Timeline.none)
  42. self.assert_element_present(Timeline.newest)
  43. self.assert_element_absent(Timeline.older)
  44. self.assert_element_absent(Timeline.end)
  45. @parameterized.expand(empty)
  46. def test_empty(self, username):
  47. self.open_nitter(username)
  48. self.assert_text('No items found', Timeline.none)
  49. self.assert_element_absent(Timeline.newest)
  50. self.assert_element_absent(Timeline.older)
  51. self.assert_element_absent(Timeline.end)
  52. @parameterized.expand(protected)
  53. def test_protected(self, username):
  54. self.open_nitter(username)
  55. self.assert_text('This account\'s tweets are protected.', Timeline.protected)
  56. self.assert_element_absent(Timeline.newest)
  57. self.assert_element_absent(Timeline.older)
  58. self.assert_element_absent(Timeline.end)