postly / tests /test_plotly.py
andreped's picture
Updated pytest to include pwd
3194069
from postly.clients.postly_client import PostlyClient
class TestPlotlyClient:
def setup_method(self):
self.postly_instance = PostlyClient()
# define reference data for testing
self.gt_posts = ["just #chilling today", "eating #steak for dinner", "ugh! this #steak tasted like dog food"]
self.gt_topics = [["chilling"], ["steak"], ["steak"]]
# add toy data for testing
self.postly_instance.add_user("john", "password")
for post in self.gt_posts:
self.postly_instance.add_post("john", post)
def test_add_user(self):
assert "john" in self.postly_instance.userPosts
def test_add_post(self):
assert len(self.postly_instance.userPosts["john"]) == 3
def test_get_posts_for_user(self):
retrieved_posts = self.postly_instance.get_posts_for_user("john")
assert len(retrieved_posts) == 3
for post, gt_post in zip(retrieved_posts, self.gt_posts[::-1]):
assert post == gt_post
def test_get_posts_for_topic(self):
retrieved_posts = self.postly_instance.get_posts_for_topic("steak")
assert len(retrieved_posts) == 2
for post in retrieved_posts:
assert "#steak" in post
def test_get_trending_topics(self):
trending_topics = self.postly_instance.get_trending_topics(1, 3)
assert len(trending_topics) == 2
assert trending_topics == ["steak", "chilling"]
trending_topics = self.postly_instance.get_trending_topics(2, 3)
assert len(trending_topics) == 1
assert trending_topics == ["steak"]
def test_delete_user(self):
temporary_postly_instance = PostlyClient()
temporary_postly_instance.add_user("simon", "password")
temporary_postly_instance.add_post("simon", "just #coding today")
assert "simon" in temporary_postly_instance.userPosts
temporary_postly_instance.delete_user("simon")
assert "simon" not in temporary_postly_instance.userPosts