45 lines
1.6 KiB
Python
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
|
|
|
|
|
|
|