Odoo18-Base/addons/hr_holidays/tests/test_dashboard.py
2025-01-06 10:57:38 +07:00

63 lines
2.5 KiB
Python

from datetime import datetime
from odoo.addons.hr_holidays.tests.common import TestHrHolidaysCommon
class TestDashboard(TestHrHolidaysCommon):
def test_dashboard_special_days(self):
self.env.user = self.user_hrmanager
employee = self.env.user.employee_id
other_calendar = self.env['resource.calendar'].create({
'name': 'Other calendar',
})
mandatory_day_vals = [
{
'name': 'Super Event (employee schedule)',
'company_id': employee.company_id.id,
'start_date': datetime(2021, 6, 12),
'end_date': datetime(2021, 6, 12),
'resource_calendar_id': employee.resource_calendar_id.id,
},
{
'name': 'Super Event (no schedule)',
'company_id': employee.company_id.id,
'start_date': datetime(2021, 6, 12),
'end_date': datetime(2021, 6, 12),
},
{
'name': 'Super Event (other schedule)',
'company_id': employee.company_id.id,
'start_date': datetime(2021, 6, 12),
'end_date': datetime(2021, 6, 12),
'resource_calendar_id': other_calendar.id,
}
]
self.env['hr.leave.mandatory.day'].create(mandatory_day_vals)
public_holiday_vals = [
{
'name': 'Public holiday (employee schedule)',
'date_from': "2021-06-15 06:00:00",
'date_to': "2021-06-15 15:00:00",
'calendar_id': employee.resource_calendar_id.id,
},
{
'name': 'Public holiday (no schedule)',
'date_from': "2021-06-16 06:00:00",
'date_to': "2021-06-16 15:00:00",
},
{
'name': 'Public holiday (other schedule)',
'date_from': "2021-06-17 06:00:00",
'date_to': "2021-06-17 15:00:00",
'calendar_id': other_calendar.id,
},
]
self.env['resource.calendar.leaves'].create(public_holiday_vals)
dashboard_data = self.env['hr.employee'].get_special_days_data("2021/06/01", "2021/07/01")
self.assertEqual({d["title"] for d in dashboard_data["mandatoryDays"]}, {'Super Event (employee schedule)', 'Super Event (no schedule)'})
self.assertEqual({d["title"] for d in dashboard_data["bankHolidays"]}, {'Public holiday (employee schedule)', 'Public holiday (no schedule)'})