Skip to content

Commit

Permalink
chore: test bulk fetch shift if shift settings change for the same shift
Browse files Browse the repository at this point in the history
  • Loading branch information
asmitahase committed Jan 27, 2025
1 parent 3871947 commit 2106636
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions hrms/hr/doctype/employee_checkin/test_employee_checkin.py
Original file line number Diff line number Diff line change
Expand Up @@ -583,6 +583,34 @@ def test_bulk_fetch_shift(self):
# shift does not change since attendance is already marked
self.assertEqual(log2.shift, shift1.name)

def test_bulk_fetch_shift_if_shift_settings_change_for_the_same_shift(self):
emp1 = make_employee("[email protected]", company="_Test Company")
emp2 = make_employee("[email protected]", company="_Test Company")

# 8 - 12,
shift = setup_shift_type(shift_type="Test Bulk Shift")
date = getdate()
make_shift_assignment(shift.name, emp1, date)
make_shift_assignment(shift.name, emp2, date)

timestamp = datetime.combine(date, get_time("08:00:00"))
# shift actual start is `current date 07:00:00`
log1 = make_checkin(emp1, timestamp)
self.assertEqual(log1.shift_actual_start, datetime.combine(date, get_time("07:00:00")))
log2 = make_checkin(emp2, timestamp)
self.assertEqual(log2.shift_actual_start, datetime.combine(date, get_time("07:00:00")))

# change shift settings like check in buffer from 60 minutes to 120 minutes
# so now shift actual start is `current date 06:00:00`
shift.begin_check_in_before_shift_start_time = 120
shift.save()
bulk_fetch_shift([log1.name, log2.name])
# shift changes according to the new assignment
log1.reload()
self.assertEqual(log1.shift_actual_start, datetime.combine(date, get_time("06:00:00")))
log2.reload()
self.assertEqual(log2.shift_actual_start, datetime.combine(date, get_time("06:00:00")))


def make_n_checkins(employee, n, hours_to_reverse=1):
logs = [make_checkin(employee, now_datetime() - timedelta(hours=hours_to_reverse, minutes=n + 1))]
Expand Down

0 comments on commit 2106636

Please sign in to comment.