test(Holiday List): weekly off and local holidays
diff --git a/erpnext/setup/doctype/holiday_list/test_holiday_list.py b/erpnext/setup/doctype/holiday_list/test_holiday_list.py
index d32cfe8..23b08fd 100644
--- a/erpnext/setup/doctype/holiday_list/test_holiday_list.py
+++ b/erpnext/setup/doctype/holiday_list/test_holiday_list.py
@@ -3,7 +3,7 @@
import unittest
from contextlib import contextmanager
-from datetime import timedelta
+from datetime import date, timedelta
import frappe
from frappe.utils import getdate
@@ -23,6 +23,41 @@
fetched_holiday_list = frappe.get_value("Holiday List", holiday_list.name)
self.assertEqual(holiday_list.name, fetched_holiday_list)
+ def test_weekly_off(self):
+ holiday_list = frappe.new_doc("Holiday List")
+ holiday_list.from_date = "2023-01-01"
+ holiday_list.to_date = "2023-02-28"
+ holiday_list.weekly_off = "Sunday"
+ holiday_list.get_weekly_off_dates()
+
+ holidays = [holiday.holiday_date for holiday in holiday_list.holidays]
+
+ self.assertNotIn(date(2022, 12, 25), holidays)
+ self.assertIn(date(2023, 1, 1), holidays)
+ self.assertIn(date(2023, 1, 8), holidays)
+ self.assertIn(date(2023, 1, 15), holidays)
+ self.assertIn(date(2023, 1, 22), holidays)
+ self.assertIn(date(2023, 1, 29), holidays)
+ self.assertIn(date(2023, 2, 5), holidays)
+ self.assertIn(date(2023, 2, 12), holidays)
+ self.assertIn(date(2023, 2, 19), holidays)
+ self.assertIn(date(2023, 2, 26), holidays)
+ self.assertNotIn(date(2023, 3, 5), holidays)
+
+ def test_local_holidays(self):
+ holiday_list = frappe.new_doc("Holiday List")
+ holiday_list.from_date = "2023-04-01"
+ holiday_list.to_date = "2023-04-30"
+ holiday_list.country = "DE"
+ holiday_list.subdivision = "SN"
+ holiday_list.get_local_holidays()
+
+ holidays = [holiday.holiday_date for holiday in holiday_list.holidays]
+ self.assertNotIn(date(2023, 1, 1), holidays)
+ self.assertIn(date(2023, 4, 7), holidays)
+ self.assertIn(date(2023, 4, 10), holidays)
+ self.assertNotIn(date(2023, 5, 1), holidays)
+
def make_holiday_list(
name, from_date=getdate() - timedelta(days=10), to_date=getdate(), holiday_dates=None