| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- from parameterized import parameterized
- from base import BaseTestCase, Conversation
- thread = [
- [
- "octonion/status/975253897697611777",
- [],
- "Based",
- ["Crystal", "Julia"],
- [["For", "Then"], ["yeah,"]],
- ],
- ["octonion/status/975254452625002496", ["Based"], "Crystal", ["Julia"], []],
- ["octonion/status/975256058384887808", ["Based", "Crystal"], "Julia", [], []],
- [
- "gauravssnl/status/975364889039417344",
- ["Based", "For", "Then", "Okay,", "Python"],
- "Speed",
- [],
- [["Java", "Coding", "I", "You"], ["JAVA!"]],
- ],
- [
- "d0m96/status/1141811379407425537",
- [],
- "I'm",
- ["The", "The", "Today", "Some", "If", "There", "Above"],
- [["Thank", "Also,"]],
- ],
- [
- "gmpreussner/status/999766552546299904",
- [],
- "A",
- [],
- [["I", "Especially"], ["I"]],
- ],
- ]
- class ThreadTest(BaseTestCase):
- def find_tweets(self, selector):
- return self.find_elements(f"{selector} {Conversation.tweet_text}")
- def compare_first_word(self, tweets, selector):
- if len(tweets) > 0:
- self.assert_element_visible(selector)
- for i, tweet in enumerate(self.find_tweets(selector)):
- text = tweet.text.split(" ")[0]
- self.assert_equal(tweets[i], text)
- @parameterized.expand(thread)
- def test_thread(self, tweet, before, main, after, replies):
- self.open_nitter(tweet)
- self.assert_element_visible(Conversation.main)
- self.assert_text(main, Conversation.main)
- self.assert_text(main, Conversation.main)
- self.compare_first_word(before, Conversation.before)
- self.compare_first_word(after, Conversation.after)
- for i, reply in enumerate(self.find_elements(Conversation.thread)):
- selector = Conversation.replies + f" > div:nth-child({i + 1})"
- self.compare_first_word(replies[i], selector)
|