Refactor shift constraints in tests to use new constraint classes
- Updated test cases in `test_workers.py` to replace dictionary-based constraints with instances of `PreShiftConstraint`, `PostShiftConstraint`, and `MaxShiftsPerWeekConstraint`. - Added a new test `test_worker_assign_as_block_preference2` to verify worker preferences for block assignments. - Marked tests as slow where appropriate to improve test suite performance.
This commit is contained in:
+4
-4
@@ -1,6 +1,6 @@
|
||||
|
||||
import pytest
|
||||
from rota.shifts import NoWorkers, RotaBuilder, SingleShift, days
|
||||
from rota.shifts import NoWorkers, RequireRemoteSitePresenceConstraint, RotaBuilder, SingleShift, days
|
||||
|
||||
import datetime
|
||||
from rota.workers import Worker
|
||||
@@ -34,7 +34,7 @@ class TestRemoteRotas:
|
||||
workers_required=1,
|
||||
balance_offset=100,
|
||||
force_as_block=False,
|
||||
constraint=[{"name":"require_remote_site_presence_week", "options":("group2", 2)}],
|
||||
constraints=[RequireRemoteSitePresenceConstraint(site="group2", required_number=2)],
|
||||
),
|
||||
)
|
||||
|
||||
@@ -70,7 +70,7 @@ class TestRemoteRotas:
|
||||
workers_required=1,
|
||||
balance_offset=10,
|
||||
force_as_block=True,
|
||||
constraint=[{"name":"require_remote_site_presence_week", "options":("group2", 1)}],
|
||||
constraints=[RequireRemoteSitePresenceConstraint(site="group2", required_number=1)],
|
||||
),
|
||||
SingleShift(
|
||||
sites=("group1", "group2"), name="b", length= 12.5, days=days[3:],
|
||||
@@ -130,7 +130,7 @@ class TestRemoteRotas:
|
||||
workers_required=1,
|
||||
balance_offset=10,
|
||||
force_as_block=False,
|
||||
constraint=[{"name":"require_remote_site_presence_week", "options":("group2", 1)}],
|
||||
constraints=[RequireRemoteSitePresenceConstraint(site="group2", required_number=1)],
|
||||
),
|
||||
SingleShift(
|
||||
sites=("group1", "group2"), name="b", length= 12.5, days=days[3:],
|
||||
|
||||
Reference in New Issue
Block a user