def testAdvancedPermissionsThreePatients(self): """ Create a multitude of patients where a provider has varying actor roles (provider, none, etc) """ patients = [] for i in range(3): patients.append(generator.get_or_create_patient()) role_options = ['caregiver', 'provider', None] user = self._createUser() for i in range(3): patient = patients[i] role = role_options[i] if role != None: actor = generator.generate_role(user, role) patient.add_actor(actor) for i in range(0,3): patient = patients[i] if i == 0: #caregiver self.assertEqual(Actor.permissions.get_roles(patient, user)[0].role_type.model_class(), Caregiver) elif i == 1: #provider: self.assertNotEqual(Actor.permissions.get_roles(patient, user)[0].role_type.model_class(), Caregiver) role_type = Actor.permissions.get_roles(patient, user)[0].role_type.model_class() if role_type == Doctor or role_type == TriageNurse: pass else: self.fail("Not a known role type") if i == 2: self.assertEqual(Actor.permissions.get_roles(patient, user).count(), 0)
def testBusyProvider(self): """Create a single provider/user caring for many patients.""" num_patients = 20 my_patients = 5 user = generator.get_or_create_user() actor = generator.generate_role(user, 'provider') patients = [generator.get_or_create_patient() for i in range(num_patients)] for i in range(my_patients): patients[i].add_actor(actor)
def testAdvancedPermissionsOnePatient(self): """ Create a multitude of patients where a provider has varying roles (provider, none, etc) """ patient = generator.get_or_create_patient() role_possibilities = ['caregiver', 'provider', None] for r in role_possibilities: user = self._createUser() if r != None: role = generator.generate_role(user, r) pal = CareTeamMember(patient=patient, role=role, active=True) pal.save() if r == 'caregiver': self.assertEqual(Actor.permissions.get_roles(patient, user)[0].role_type.model_class(), Caregiver) elif r == 'provider': self.assertNotEqual(Actor.permissions.get_roles(patient, user)[0].role_type.model_class(), Caregiver) elif r == None: self.assertEqual(Actor.permissions.get_roles(patient, user).count(), 0)
def testCreateSingleCareTeamAPI(self): print "===========================\nCreating singular patient with careteam via API" pt = generator.get_or_create_patient() provrole = generator.generate_role(generator.get_or_create_user(), 'provider') pt.add_provider(provoler) provrole = generator.generate_role(generator.get_or_create_user(), 'provider') pt.add_provider(provoler) provrole = generator.generate_role(generator.get_or_create_user(), 'provider') pt.add_provider(provoler) cgrole = generator.generate_role(generator.get_or_create_user(), 'caregiver') pt.add_caregiver(cgoler) cgrole = generator.generate_role(generator.get_or_create_user(), 'caregiver') pt.add_caregiver(cgoler) #next, verify single careteam exists via the patient access API. cg_pull = pt.get_caregivers() prov_pull = pt.get_providers() self.assertEqual(2, cg_pull.count()) self.assertEqual(3, prov_pull.count())