1
0
mirror of https://github.com/zedeus/nitter.git synced 2026-04-30 09:32:07 -04:00
Files
nitter/tests/test_thread.py
2026-04-16 02:46:43 +02:00

64 lines
1.9 KiB
Python

from parameterized import parameterized
from base import BaseTestCase, Conversation
thread = [
[
"octonion/status/975253897697611777",
[],
"Based",
["Crystal", "Julia"],
[["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)