from datetime import datetime import shutil from review.stats import ReviewStats from tests.utils import bot, OWNER, SENDER def setup_function(): shutil.copyfile("tests/datas/reviewstats.csv", "tests/reviews/reviewstats.csv") def test_complete_review(bot): with open("tests/datas/irc.txt") as file_handle: content = file_handle.read().splitlines() messages = [] for line in content: data = line.split(":") author = data[0].strip() text = ":".join(data[1:]).strip() messages.append((author, text)) bot.test_public_message(bot.channel, "lllll", "!start") bot.review.start_time = datetime(2023, 12, 1, 12, 0, 0) for message in messages: bot.test_public_message(bot.channel, message[0], message[1]) # compare contents with open("tests/datas/20231201-log-irc-revue-hebdomadaire.txt") as file_handle: content_ok = file_handle.read() with open("tests/reviews/20231201-log-irc-revue-hebdomadaire.txt") as file_handle: content_tested = file_handle.read() assert content_ok in content_tested def test_other_review(bot): with open("tests/datas/irc_2.txt") as file_handle: content = file_handle.read().splitlines() messages = [] for line in content: data = line.split(":") author = data[0].strip() text = ":".join(data[1:]).strip() messages.append((author, text)) bot.test_public_message(bot.channel, "lllll", "!start") bot.review.start_time = datetime(2024, 4, 2, 9, 59, 0) for message in messages: bot.test_public_message(bot.channel, message[0], message[1]) # compare contents with open("tests/datas/20240402-log-irc-revue-hebdomadaire.txt") as file_handle: content_ok = file_handle.read() with open("tests/reviews/20240402-log-irc-revue-hebdomadaire.txt") as file_handle: content_tested = file_handle.read() assert content_ok in content_tested def test_fast_review(bot): bot.test_public_message(bot.channel, "lllll", "!start") bot.test_public_message(bot.channel, "lllll", "# new test") bot.test_public_message(bot.channel, "lllll", "test") bot.test_public_message(bot.channel, "lllll", "!fin") bot.test_public_message(bot.channel, "lllll", "!stats") def test_review_with_one_user_dont_update_stats(bot): review = ReviewStats("tests/reviews/reviewstats.csv") review.load() size = review.size bot.test_public_message(bot.channel, "lllll", "!start") bot.test_public_message(bot.channel, "lllll", "# new test") bot.test_public_message(bot.channel, "lllll", "test") bot.test_public_message(bot.channel, "lllll", "!fin") review = ReviewStats("tests/reviews/reviewstats.csv") review.load() assert review.size == size def test_review_with_two_user_update_stats(bot): review = ReviewStats("tests/reviews/reviewstats.csv") review.load() size = review.size bot.test_public_message(bot.channel, "lllll", "!start") bot.test_public_message(bot.channel, "lllll", "# new test") bot.test_public_message(bot.channel, "lllll", "test") bot.test_public_message(bot.channel, "ooooo", "another test") bot.test_public_message(bot.channel, "lllll", "!fin") review = ReviewStats("tests/reviews/reviewstats.csv") review.load() assert review.size == (size + 1)