From c3995a6b75d95eddfef8350ee5b2f2523f46252d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Bu=C3=9Fmann?= Date: Fri, 21 Jun 2024 04:01:41 +0200 Subject: [PATCH] added tests --- pyproject.toml | 3 +++ tests/utils_test.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 tests/utils_test.py diff --git a/pyproject.toml b/pyproject.toml index dc72765..52d6580 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,9 @@ reclaim-sdk = {git = "https://github.com/cato447/reclaim-sdk"} rich = "^13.7.1" typer = {extras = ["all"], version = "^0.12.3"} +[tool.pytest.ini_options] +pythonpath = [".", "things2reclaim"] + [tool.poetry.scripts] task-automation = 'things2reclaim.things2reclaim:main' diff --git a/tests/utils_test.py b/tests/utils_test.py new file mode 100644 index 0000000..e3d01dc --- /dev/null +++ b/tests/utils_test.py @@ -0,0 +1,44 @@ +from pytest import fixture + +from datetime import datetime, timedelta +from dateutil import tz +from reclaim_sdk.models.task_event import ReclaimTaskEvent +from toggl_python import TimeEntry + +from things2reclaim import utils + +@fixture +def start_datetime(): + return datetime(2023,11,13,17,54,0, tzinfo=tz.gettz()) + +@fixture +def stop_datetime(): + return datetime(2023,11,13,21,24,0, tzinfo=tz.gettz()) + +@fixture +def title(): + return "Test Title" + +@fixture +def correct_toggl_entry(start_datetime, stop_datetime, title) -> TimeEntry: + return TimeEntry(wid=1337,pid=1337,duration=-1,start=start_datetime, stop=stop_datetime, description=title) + +@fixture +def correct_reclaim_entry(start_datetime, stop_datetime, title) -> ReclaimTaskEvent: + return ReclaimTaskEvent({"start" : start_datetime.isoformat(), "end" : stop_datetime.isoformat(), "title" : title}) + +def test_matching_time_entries(correct_toggl_entry, correct_reclaim_entry): + assert utils.is_matching_time_entry(correct_toggl_entry, correct_reclaim_entry) == True + +def test_start_diff_time_entries(correct_toggl_entry, correct_reclaim_entry): + differed_toggl_entry = correct_toggl_entry + differed_toggl_entry.start = differed_toggl_entry.start - timedelta(hours=1) + assert utils.is_matching_time_entry(differed_toggl_entry, correct_reclaim_entry) == False + +def test_stop_diff_time_entries(correct_toggl_entry, correct_reclaim_entry): + differed_reclaim_entry = correct_reclaim_entry + differed_reclaim_entry.end = differed_reclaim_entry.end - timedelta(hours=1) + assert utils.is_matching_time_entry(correct_toggl_entry, differed_reclaim_entry) == False + + +