From 7ae8bc5de77a1dccb32b3b4afb2e7e7c5ed77658 Mon Sep 17 00:00:00 2001 From: Krishna Pramod Shirsath <91021227+krishna-254@users.noreply.github.com> Date: Tue, 16 Jun 2026 15:10:24 +0530 Subject: [PATCH] Revert "fix: update shift query to use ShiftAssignment and include ShiftType fields" --- hrms/api/roster.py | 4 +- hrms/tests/test_roster.py | 89 --------------------------------------- 2 files changed, 3 insertions(+), 90 deletions(-) delete mode 100644 hrms/tests/test_roster.py diff --git a/hrms/api/roster.py b/hrms/api/roster.py index effb62a7a6..04e222db6e 100644 --- a/hrms/api/roster.py +++ b/hrms/api/roster.py @@ -319,6 +319,9 @@ def get_shifts( ShiftAssignment.end_date, ShiftAssignment.status, ShiftAssignment.shift_schedule_assignment, + ShiftType.start_time, + ShiftType.end_time, + ShiftType.color, ], filters={ "docstatus": 1, @@ -334,7 +337,6 @@ def get_shifts( query = ( query.left_join(ShiftType) .on(ShiftAssignment.shift_type == ShiftType.name) - .select(ShiftType.start_time, ShiftType.end_time, ShiftType.color) .left_join(Employee) .on(ShiftAssignment.employee == Employee.name) ) diff --git a/hrms/tests/test_roster.py b/hrms/tests/test_roster.py deleted file mode 100644 index c090df766e..0000000000 --- a/hrms/tests/test_roster.py +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright (c) 2026, Frappe Technologies Pvt. Ltd. and Contributors -# See license.txt - -import frappe -from frappe.tests import IntegrationTestCase -from frappe.utils import add_days, getdate - -from hrms.api.roster import get_shifts - - -class TestRoster(IntegrationTestCase): - def test_get_shifts_returns_shift_type_details(self): - date = getdate() - employee_name = f"_Test Roster Employee {frappe.generate_hash(length=8)}" - employee = create_employee(employee_name) - shift_type = create_shift_type( - f"_Test Roster Shift {frappe.generate_hash(length=8)}", - start_time="10:00:00", - end_time="18:00:00", - color="Violet", - ) - shift_assignment = create_shift_assignment(shift_type.name, employee.name, date) - - shifts = get_shifts(add_days(date, -1), add_days(date, 1), {"employee_name": employee_name}, {}) - - self.assertEqual(len(shifts[employee.name]), 1) - self.assertEqual(shifts[employee.name][0]["name"], shift_assignment.name) - self.assertEqual(str(shifts[employee.name][0]["start_time"]), "10:00:00") - self.assertEqual(str(shifts[employee.name][0]["end_time"]), "18:00:00") - self.assertEqual(shifts[employee.name][0]["color"], "Violet") - - -def create_employee(employee_name: str): - create_company() - if not frappe.db.exists("Gender", "Female"): - frappe.get_doc({"doctype": "Gender", "gender": "Female"}).insert() - - return frappe.get_doc( - { - "doctype": "Employee", - "first_name": employee_name, - "company": "_Test Company", - "gender": "Female", - "date_of_birth": "1990-01-01", - "date_of_joining": "2020-01-01", - "status": "Active", - } - ).insert() - - -def create_company(): - if frappe.db.exists("Company", "_Test Company"): - return - - frappe.get_doc( - { - "doctype": "Company", - "company_name": "_Test Company", - "default_currency": "INR", - "country": "India", - } - ).insert() - - -def create_shift_type(shift_type: str, start_time: str, end_time: str, color: str): - return frappe.get_doc( - { - "doctype": "Shift Type", - "__newname": shift_type, - "start_time": start_time, - "end_time": end_time, - "color": color, - } - ).insert() - - -def create_shift_assignment(shift_type: str, employee: str, date: str): - shift_assignment = frappe.get_doc( - { - "doctype": "Shift Assignment", - "employee": employee, - "company": "_Test Company", - "shift_type": shift_type, - "start_date": date, - "end_date": date, - } - ) - shift_assignment.submit() - return shift_assignment