def setUp(self): """ WardStrategy needs patient placements. """ bed_patient = PatientsGenerator(0, 2, 0, 'a') self.gen = PlacementsGenerator(bed_patient, [-1, -2]) self.patients = patients_factory(self.gen.root) risk = {'high': 1, 'medium': 2, 'low': 10, 'none': 15} self.user_ids = ['user_1', 'user_2'] self.strategy = WardStrategy(self.patients, self.user_ids, risk, 1, 1, [30])
class TestWardStrategy(unittest.TestCase): """ Test that WardStrategy creates strategy. """ def setUp(self): """ WardStrategy needs patient placements. """ bed_patient = PatientsGenerator(0, 2, 0, 'a') self.gen = PlacementsGenerator(bed_patient, [-1, -2]) self.patients = patients_factory(self.gen.root) risk = {'high': 1, 'medium': 2, 'low': 10, 'none': 15} self.user_ids = ['user_1', 'user_2'] self.strategy = WardStrategy(self.patients, self.user_ids, risk, 1, 1, [30]) def test_pick_user_id(self): user_id = self.strategy.pick_user_id() self.assertTrue(user_id in self.user_ids) def test_get_hca_nurse_users(self): basic_schema = { 'hca': {'total': 1, 'per_ward': 1, 'unassigned': 0}, 'nurse': {'total': 1, 'per_ward': 1, 'unassigned': 0} } gen = UsersGenerator(basic_schema) doc = gen.generate_users_per_ward('a', 2) user_ids = get_hca_nurse_users(doc) self.assertEqual(len(user_ids), 2) def test_get_role(self): hca = "[(4, ref('nh_clinical.role_nhc_hca'))]" basic_schema = {'hca': {'total': 1, 'per_ward': 1, 'unassigned': 0}} gen = UsersGenerator(basic_schema) doc = gen.generate_users_per_ward('a', 2) user = doc.findall(".//record/[@model='res.users']")[0] role = get_role(user) self.assertEqual(role, hca)