From b09136747fa5d974364fcc7d7f9d59bb814a4fea Mon Sep 17 00:00:00 2001
From: Dmitry <b4tm4n@mail.ru>
Date: Tue, 22 Feb 2022 09:52:28 +0300
Subject: [PATCH] rewrite test_filter_events_no_updated

---
 tests/test_sync.py | 37 +++++++++++++++++++------------------
 1 file changed, 19 insertions(+), 18 deletions(-)

diff --git a/tests/test_sync.py b/tests/test_sync.py
index aed1ff0..0a4e312 100644
--- a/tests/test_sync.py
+++ b/tests/test_sync.py
@@ -180,27 +180,28 @@ def test_filter_events_to_update():
     assert sync2.to_update == []
 
 
-def test_filter_events_to_update_no_updated():
-    now = utc.localize(datetime.datetime.utcnow())
-
-    one_hour = datetime.datetime(
-        1, 1, 1, 2) - datetime.datetime(1, 1, 1, 1)
-    date_upd = now + (one_hour * 5)
+def test_filter_events_no_updated():
+    """
+    test filtering events that not have 'updated' field
+    such events should always pass the filter
+    """
+    now = datetime.datetime.utcnow()
+    yesterday = now - datetime.timedelta(days=-1)
 
     count = 10
     events_old = gen_events(1, 1 + count, now)
-    events_new = gen_events(1, 1 + count, date_upd)
+    events_new = gen_events(1, 1 + count, now)
 
+    # 1/2 updated=yesterday, 1/2 no updated field
+    i = 0
     for event in events_new:
-        del event['updated']
+        if 0 == i % 2:
+            event['updated'] = yesterday.isoformat() + 'Z'
+        else:
+            del event['updated']
+        i += 1
 
-    sync1 = CalendarSync(None, None)
-    sync1.to_update = list(zip(events_new, events_old))
-    sync1._filter_events_to_update()
-
-    sync2 = CalendarSync(None, None)
-    sync2.to_update = list(zip(events_old, events_new))
-    sync2._filter_events_to_update()
-
-    assert len(sync1.to_update) == count
-    assert sync2.to_update == []
+    sync = CalendarSync(None, None)
+    sync.to_update = list(zip(events_old, events_new))
+    sync._filter_events_to_update()
+    assert len(sync.to_update) == count // 2