74 lines
2 KiB
Python
74 lines
2 KiB
Python
from remember_remember_bot.util import (
|
|
check_new_day,
|
|
update_day,
|
|
chat_is_active,
|
|
get_file_path,
|
|
today_lines,
|
|
)
|
|
import pytest
|
|
import datetime
|
|
|
|
|
|
def test_update_day():
|
|
current_day = 0
|
|
assert check_new_day(current_day)
|
|
current_day = update_day()
|
|
assert not check_new_day(current_day)
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
("messages", "active"),
|
|
[
|
|
(["/start"], True),
|
|
(["/start", "/stop"], False),
|
|
(["/start", "/stop", "Let's get this party started"], False),
|
|
(
|
|
[
|
|
"/start",
|
|
"Message deletion timer is set to 1 day by",
|
|
"Message deletion timer is disabled by",
|
|
"I will stop sending you messages now.",
|
|
],
|
|
False,
|
|
),
|
|
(["/start", "/stop", "/start"], True),
|
|
],
|
|
)
|
|
def test_chat_is_active(messages, active):
|
|
assert chat_is_active(messages) == active
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"messages, tmp_file_path",
|
|
[
|
|
(["/file %file_path%"], "test1"),
|
|
(["/file %file_path%", "/stop"], "test2"),
|
|
(["I stored your reminders at the file %file_path%"], "test3"),
|
|
(["/start", "/stop", "/start"], None),
|
|
],
|
|
indirect=["tmp_file_path"],
|
|
)
|
|
def test_get_file_path(messages: [], tmp_file_path: str):
|
|
if tmp_file_path:
|
|
for listitem in range(len(messages)):
|
|
messages[listitem] = messages[listitem].replace(
|
|
"%file_path%", tmp_file_path
|
|
)
|
|
assert get_file_path(messages) == tmp_file_path
|
|
|
|
|
|
def test_today_lines():
|
|
day = datetime.datetime.now().day
|
|
month = datetime.datetime.now().month
|
|
year = datetime.datetime.now().year
|
|
lines = [
|
|
f"{day}.{month}.{year}\tToday I had a great day!",
|
|
f"{day}.{month}.2020\tI didn't go outside all day :) no appointments",
|
|
"03.13.2024\tNice how they invented a 13th month extra for the Satanists!",
|
|
]
|
|
result = today_lines(lines)
|
|
print(result)
|
|
assert len(result) == 2
|
|
assert result[0] == lines[0]
|
|
assert result[1] == lines[1]
|