From 399ccfcdaf7924d3d67a700c6f718134ee100ca0 Mon Sep 17 00:00:00 2001 From: Maharshi Patel Date: Tue, 16 Jan 2024 10:39:50 +0530 Subject: [PATCH] test: added test for new event repeat options added test for quarterly and half yearly repeat option. --- frappe/desk/doctype/event/test_event.py | 74 +++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/frappe/desk/doctype/event/test_event.py b/frappe/desk/doctype/event/test_event.py index 72eab8f416..0680167329 100644 --- a/frappe/desk/doctype/event/test_event.py +++ b/frappe/desk/doctype/event/test_event.py @@ -136,3 +136,77 @@ class TestEvent(FrappeTestCase): ev_list3 = get_events("2015-02-01", "2015-02-01", "Administrator", for_reminder=True) self.assertTrue(bool(list(filter(lambda e: e.name == ev.name, ev_list3)))) + + def test_quaterly_repeat(self): + ev = frappe.get_doc( + { + "doctype": "Event", + "subject": "_Test Event", + "starts_on": "2023-02-17", + "repeat_till": "2024-02-17", + "event_type": "Public", + "repeat_this_event": 1, + "repeat_on": "Quarterly", + } + ) + ev.insert() + # Test Quaterly months + ev_list = get_events("2023-02-17", "2023-02-17", "Administrator", for_reminder=True) + self.assertTrue(bool(list(filter(lambda e: e.name == ev.name, ev_list)))) + + ev_list1 = get_events("2023-05-17", "2023-05-17", "Administrator", for_reminder=True) + self.assertTrue(bool(list(filter(lambda e: e.name == ev.name, ev_list1)))) + + ev_list2 = get_events("2023-08-17", "2023-08-17", "Administrator", for_reminder=True) + self.assertTrue(bool(list(filter(lambda e: e.name == ev.name, ev_list2)))) + + ev_list3 = get_events("2023-11-17", "2023-11-17", "Administrator", for_reminder=True) + self.assertTrue(bool(list(filter(lambda e: e.name == ev.name, ev_list3)))) + + # Test before event start date and after event end date + ev_list4 = get_events("2022-11-17", "2022-11-17", "Administrator", for_reminder=True) + self.assertFalse(bool(list(filter(lambda e: e.name == ev.name, ev_list4)))) + + ev_list4 = get_events("2024-02-17", "2024-02-17", "Administrator", for_reminder=True) + self.assertFalse(bool(list(filter(lambda e: e.name == ev.name, ev_list4)))) + + # Test months that aren't part of the quarterly cycle + ev_list4 = get_events("2023-12-17", "2023-12-17", "Administrator", for_reminder=True) + self.assertFalse(bool(list(filter(lambda e: e.name == ev.name, ev_list4)))) + + ev_list4 = get_events("2023-03-17", "2023-03-17", "Administrator", for_reminder=True) + self.assertFalse(bool(list(filter(lambda e: e.name == ev.name, ev_list4)))) + + def test_half_yearly_repeat(self): + ev = frappe.get_doc( + { + "doctype": "Event", + "subject": "_Test Event", + "starts_on": "2023-02-17", + "repeat_till": "2024-02-17", + "event_type": "Public", + "repeat_this_event": 1, + "repeat_on": "Half Yearly", + } + ) + ev.insert() + # Test Half Yearly months + ev_list = get_events("2023-02-17", "2023-02-17", "Administrator", for_reminder=True) + self.assertTrue(bool(list(filter(lambda e: e.name == ev.name, ev_list)))) + + ev_list1 = get_events("2023-08-17", "2023-08-17", "Administrator", for_reminder=True) + self.assertTrue(bool(list(filter(lambda e: e.name == ev.name, ev_list1)))) + + # Test before event start date and after event end date + ev_list4 = get_events("2022-08-17", "2022-08-17", "Administrator", for_reminder=True) + self.assertFalse(bool(list(filter(lambda e: e.name == ev.name, ev_list4)))) + + ev_list4 = get_events("2024-02-17", "2024-02-17", "Administrator", for_reminder=True) + self.assertFalse(bool(list(filter(lambda e: e.name == ev.name, ev_list4)))) + + # Test months that aren't part of the half yearly cycle + ev_list4 = get_events("2023-12-17", "2023-12-17", "Administrator", for_reminder=True) + self.assertFalse(bool(list(filter(lambda e: e.name == ev.name, ev_list4)))) + + ev_list4 = get_events("2023-05-17", "2023-05-17", "Administrator", for_reminder=True) + self.assertFalse(bool(list(filter(lambda e: e.name == ev.name, ev_list4))))