Files
things2reclaim/tests/utils_test.py
2024-06-21 04:01:41 +02:00

45 lines
1.6 KiB
Python

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