nitter/tests/test_quote.py

67 lines
2.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from base import BaseTestCase, Quote, Conversation
from parameterized import parameterized
text = [
['elonmusk/status/1138136540096319488',
'Tesla Owners Online', '@Model3Owners',
"""As of March 58.4% of new car sales in Norway are electric.
What are we doing wrong? reuters.com/article/us-norwa…"""],
['SpaceX/status/1136998058242088960',
'SpaceX Jobs', '@SpaceXJobs',
'Super excited to be number 1! Lets make humanity multiplanetary 🚀 businessinsider.com/universu…'],
['nim_lang/status/924694255364341760',
'Hacker News', '@newsycombinator',
'Why Rust fails hard at scientific computing andre-ratsimbazafy.com/why-r…']
]
image = [
['elonmusk/status/1138827760107790336', 'D83h6Y8UIAE2Wlz'],
['SpaceX/status/1067155053461426176', 'Ds9EYfxXoAAPNmx']
]
gif = [
['SpaceX/status/747497521593737216', 'Cl-R5yFWkAA_-3X'],
['nim_lang/status/1068099315074248704', 'DtJSqP9WoAAKdRC']
]
video = [
['bkuensting/status/1067316003200217088', 'IyCaQlzF0q8u9vBd', '1:05']
]
class QuoteTest(BaseTestCase):
@parameterized.expand(text)
def test_text(self, tweet, fullname, username, text):
self.open_nitter(tweet)
quote = Quote(Conversation.main + " ")
self.assert_text(fullname, quote.fullname)
self.assert_text(username, quote.username)
self.assert_text(text, quote.text)
@parameterized.expand(image)
def test_image(self, tweet, url):
self.open_nitter(tweet)
quote = Quote(Conversation.main + " ")
self.assert_element_visible(quote.media)
self.assert_element_not_visible(quote.badge)
self.assertIn(url, self.get_image_url(quote.media + ' img'))
@parameterized.expand(gif)
def test_gif(self, tweet, thumb):
self.open_nitter(tweet)
quote = Quote(Conversation.main + " ")
self.assert_element_visible(quote.badge)
self.assert_text('GIF', quote.badge)
self.assertIn(thumb, self.get_image_url(quote.media + ' img'))
@parameterized.expand(video)
def test_video(self, tweet, thumb, length):
self.open_nitter(tweet)
quote = Quote(Conversation.main + " ")
self.assert_element_visible(quote.badge)
self.assert_text(length, quote.badge)
self.assertIn(thumb, self.get_image_url(quote.media + ' img'))