aki_prj23_transparenzregister/tests/ui/sentiment_elements_test.py
KM-R 4e83c83374
Visualize company sentiment (#422)
Updates the tab and widget "Stimmung"
2023-11-22 22:32:38 +01:00

33 lines
1.1 KiB
Python

"""Tests for sentiment ui elements."""
from sqlalchemy.orm import Session
from aki_prj23_transparenzregister.ui import data_elements, sentiment_elements
def test_sentiment_layout(news_db: Session) -> None:
"""Checks if the sentiment tab layout of the company page can be created."""
selected_company_id = 1
sentiment_elements.sentiment_layout(selected_company_id, news_db)
def test_sentiment_trend_figure(news_db: Session) -> None:
"""Checks if the sentiment trend graph can be created."""
n = 10
company_id = 1
articles = data_elements.get_news_of_one_company(company_id, news_db)
articles["overall_sentiment_label"] = articles["overall_sentiment_label"].apply(
lambda _: _.value
)
articles = articles.sort_values(by=["timestamp"], ascending=True)
articles["rolling_mean"] = articles["overall_sentiment_label"].rolling(n).mean()
sentiment_elements.sentiment_trend_figure(articles, n)
def test_sentiment_gauge_figure() -> None:
"""Checks if the sentiment gauge graph can be created."""
sentiment_score = 0.2
sentiment_elements.sentiment_gauge_figure(sentiment_score)