def setUpClass(cls): clean_db_datas() cls.user = create_user('practicemgr1', 'lin', 'xing', 'demo') practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',) practice.save() practice1 = PracticeLocation(practice_name='test1', practice_longit='0.1', practice_lat='0.0',) practice1.save() OrganizationRelationship.objects.create(organization=practice,\ parent=practice1,create_time=int(time.time()),billing_flag=True) cls.practice = practice cls.practice1 = practice1 staff = OfficeStaff() staff.user = cls.user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = practice staff.save() staff.practices.add(practice) mgr = Office_Manager(user=staff, practice=practice, manager_role=2) mgr.save()
def setUpClass(cls): clean_db_datas() cls.user = create_user( 'practicemgr1', 'lin', 'xing', 'demo', '', '', '', '', ) call_group = CallGroup(description='test', team='team') call_group.save() cls.call_group = call_group practice = PracticeLocation( practice_name='test', practice_longit='0.1', practice_lat='0.0', ) practice.save() practice.call_groups.add(call_group) cls.practice = practice
def testCheckProviderSchedule(self): response = self.client.get(reverse('MHLogin.MHLOrganization.views_member.checkProviderSchedule'),\ data={'org_id': self.practice.id,'prov_id':self.provider.user.id}) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(len(msg), 1) self.call_group = CallGroup.objects.create(description='test', team='team') organization = PracticeLocation(practice_name='testcallgroup', practice_longit='0.1', practice_lat='0.0', call_group = self.call_group,) organization.save() self.organization = organization response = self.client.get(reverse('MHLogin.MHLOrganization.views_member.checkProviderSchedule'),\ data={'org_id': self.practice.id}) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(len(msg), 2) response = self.client.get(reverse('MHLogin.MHLOrganization.views_member.checkProviderSchedule'),\ data={'org_id': self.practice.id,'prov_id':self.provider.user.id}) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(len(msg), 1) response = self.client.post(reverse('MHLogin.MHLOrganization.views_member.checkProviderSchedule'),\ data={'org_id': self.practice.id,'prov_id':self.provider.user.id}) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(len(msg), 1)
def test_getCurrentPractice(self): practice = PracticeLocation( practice_name='test', practice_longit='0.1', practice_lat='0.0', ) practice.save() user = create_user('practicemgr1', 'lin', 'xing', 'demo') #a mhluser login and call this method result = getCurrentPractice(user) self.assertEqual(result, '') #a provider login and call this method provider = Provider(username='******', first_name='tes', last_name="meister", email='*****@*****.**', user=user, office_lat=0.0, office_longit=0.0) provider.current_practice = practice provider.save() result = getCurrentPractice(user) self.assertEqual(result, 'test') #a staff login and call this method staff = OfficeStaff(user=user) staff.current_practice = practice staff.save() result = getCurrentPractice(user) self.assertEqual(result, 'test')
def testPracticeManage(self): practice = PracticeLocation( practice_name='test', practice_longit='0.1', practice_lat='0.0', ) practice.save() self.user.current_practice = practice self.user.practices.add(practice) self.user.save() response = self.client.get(reverse\ ('MHLogin.api.v1.views_account.practiceManage'), **self.extra) self.assertEqual(response.status_code, 200, response.status_code) msg = json.loads(response.content) self.assertEqual(len(msg), 2) response = self.client.post(reverse\ ('MHLogin.api.v1.views_account.practiceManage'), **self.extra) self.assertEqual(response.status_code, 200, response.status_code) msg = json.loads(response.content) self.assertEqual(len(msg), 2) response = self.client.post(reverse\ ('MHLogin.api.v1.views_account.practiceManage'), data={'current_practice':practice.id}, **self.extra) self.assertEqual(response.status_code, 200, response.status_code) msg = json.loads(response.content) self.assertEqual(len(msg), 2)
def test_canAccessCallGroup(self): call_group = CallGroup(description='test', team='team') call_group.save() practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0', call_group=call_group) practice.save() practice.call_groups.add(call_group) user = create_user('user-CallGroup2', 'us', 'er', 'demo') staff = OfficeStaff(user=user) staff.save() staff.practices.add(practice) #a staff call this method result = canAccessCallGroup(staff, long(call_group.pk)) self.assertEqual(result, False) #a manager call this method # manager = Office_Manager(user=staff, practice=practice, manager_role=1) # manager.save() # # result = canAccessCallGroup(manager, long(call_group.pk)) # self.assertEqual(result, True) #admin call this method admin = create_user('user-CallGroup', 'us', 'er', 'demo', '', '', '', '', Administrator) result = canAccessCallGroup(admin.user, call_group) self.assertEqual(result, True) Administrator.objects.all().delete()
def test_getLevelByStaff(self): practice = PracticeLocation( practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit= -122.081864) practice.save() user = create_user('practicemgr1', 'lin', 'xing', 'demo') #not a manager login result = get_level_by_staff(user, practice) self.assertEqual(result, 0) staff = OfficeStaff(user=user) staff.save() manager = Office_Manager(user=staff, practice=practice, manager_role=2) manager.save() #a manager login result = get_level_by_staff(staff.id, practice) self.assertEqual(result, 2)
def test_isCallGroupStaff(self): call_group = CallGroup(description='test', team='team') call_group.save() practice = PracticeLocation( practice_name='test', practice_longit='0.1', practice_lat='0.0', ) practice.call_group = call_group practice.save() user = create_user('user5', 'us', 'er', 'demo') #a mhluser call this method result = isCallGroupStaff(user, call_group.pk) self.assertEqual(result, False) staff = OfficeStaff(user=user) staff.save() staff.practices.add(practice) #a staff call this method result = isCallGroupStaff(user, call_group.pk) self.assertEqual(result, True) #a manager call this method manager = Office_Manager(user=staff, practice=practice, manager_role=1) manager.save() result = isCallGroupStaff(user, call_group.pk) self.assertEqual(result, True)
def setUpClass(cls): clean_db_datas() cls.user = create_user('practicemgr1', 'lin', 'xing', 'demo') cls.user1 = create_user('practicemgr11', 'y', 'p', 'demo') cls.broker = create_user("broker1", "bro", "1", "demo", "123 Main St.", "Phoenix", "AZ", uklass=Broker) practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',) practice.save() practice1 = PracticeLocation(practice_name='test1', practice_longit='0.1', practice_lat='0.0',) practice1.save() OrganizationRelationship.objects.create(organization=practice,\ parent=practice1, create_time=int(time.time()), billing_flag=True) cls.practice = practice staff = OfficeStaff() staff.user = cls.user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = practice staff.save() staff.practices.add(practice) cls.provider = Provider(user=cls.user1, office_lat=0.0, office_longit=0.0, current_practice = practice) cls.provider.mdcom_phone = '5948949899' cls.provider.save() # mgr = Office_Manager(user=staff, practice=practice, manager_role=2) mgr.save()
def test_canAccessCallGroup(self): call_group = CallGroup(description='test', team='team') call_group.save() practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0', call_group=call_group) practice.save() practice.call_groups.add(call_group) user = create_user('user-CallGroup2', 'us', 'er', 'demo') staff = OfficeStaff(user=user) staff.save() staff.practices.add(practice) #a staff call this method result = canAccessCallGroup(staff, long(call_group.pk)) self.assertEqual(result, False) #a manager call this method # manager = Office_Manager(user=staff, practice=practice, manager_role=1) # manager.save() # # result = canAccessCallGroup(manager, long(call_group.pk)) # self.assertEqual(result, True) #admin call this method admin = create_user('user-CallGroup', 'us', 'er', 'demo', '', '', '', '', Administrator) result = canAccessCallGroup(admin.user, call_group) self.assertEqual(result, True) Administrator.objects.all().delete()
def test_isCallGroupStaff(self): call_group = CallGroup(description='test', team='team') call_group.save() practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',) practice.call_group = call_group practice.save() user = create_user('user5', 'us', 'er', 'demo') #a mhluser call this method result = isCallGroupStaff(user, call_group.pk) self.assertEqual(result, False) staff = OfficeStaff(user=user) staff.save() staff.practices.add(practice) #a staff call this method result = isCallGroupStaff(user, call_group.pk) self.assertEqual(result, True) #a manager call this method manager = Office_Manager(user=staff, practice=practice, manager_role=1) manager.save() result = isCallGroupStaff(user, call_group.pk) self.assertEqual(result, True)
def create_organization(auto_type=True, org_type=None, org_type_id=None, org_name="Test Org"): if not org_type: if auto_type: org_setting = OrganizationSetting(can_have_luxury_logo=True, display_in_contact_list_tab=True) org_setting.save() type_name = "Test Org Type1" if org_type_id: org_type = OrganizationType(id=org_type_id, name=type_name, organization_setting=org_setting) org_type.save() else: org_type = OrganizationType(name=type_name, organization_setting=org_setting) # force id for test - MySQL UT's don't re-use ids after cleanup org_type.id = RESERVED_ORGANIZATION_TYPE_ID_PRACTICE # TODO: issue 2030, reserved id's is a hazardous approach, the UT's # were working with SQLlite but not with MySQL, DB engines recycle # id's differently and we should not rely on reserved id fields. This # should be addressed in a separate Redmine as model changes may occur. org_type.save() _organization = PracticeLocation( practice_name="Test Org", practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864, organization_type=org_type) _organization.save() return _organization
def testGetDComNumber(self): user = create_user(get_random_username(), "tian", "thj", "demo", "555 Bryant St.", "Palo Alto", "CA", "", uklass=OfficeStaff) user.mdcom_phone = '9001234123' user.save() practice = PracticeLocation( practice_name='test', practice_longit='0.1', practice_lat='0.0', ) practice.save() mgr = Office_Manager(user=user, practice=practice, manager_role=2) mgr.save() response = self.client.get(reverse\ ('MHLogin.api.v1.views_account.getDComNumber'), **self.extra) self.assertEqual(response.status_code, 200, response.status_code) msg = json.loads(response.content) self.assertEqual(len(msg), 2)
def test_getLevelByStaff(self): practice = PracticeLocation( practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864) practice.save() user = create_user('practicemgr1', 'lin', 'xing', 'demo') #not a manager login result = get_level_by_staff(user, practice) self.assertEqual(result, 0) staff = OfficeStaff(user=user) staff.save() manager = Office_Manager(user=staff, practice=practice, manager_role=2) manager.save() #a manager login result = get_level_by_staff(staff.id, practice) self.assertEqual(result, 2)
def test_getCurrentPractice(self): practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',) practice.save() user = create_user('practicemgr1', 'lin', 'xing', 'demo') #a mhluser login and call this method result = getCurrentPractice(user) self.assertEqual(result, '') #a provider login and call this method provider = Provider(username='******', first_name='tes', last_name="meister", email='*****@*****.**', user=user, office_lat=0.0, office_longit=0.0) provider.current_practice = practice provider.save() result = getCurrentPractice(user) self.assertEqual(result, 'test') #a staff login and call this method staff = OfficeStaff(user=user) staff.current_practice = practice staff.save() result = getCurrentPractice(user) self.assertEqual(result, 'test')
def test_checkoutUserManager(self): practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',) practice.save() user = create_user('staff', 'lin', 'xing', 'demo', '', '', '', '',) staff = OfficeStaff(user=user) staff.save() staff.practices.add(practice) provider = Provider.objects.create(username='******', first_name='heal', last_name='meister', address1="555 Bryant St.", city="Palo Alto", state="CA", lat=0.0, longit=0.0, office_lat=0.0, office_longit=0.0, is_active=True, tos_accepted=True, mobile_confirmed=True, mdcom_phone='123', mobile_phone='456') provider.user = provider # for our unique prov-user reln provider.save() # try provider result = user_is_mgr_of_practice(provider, practice) self.assertEqual(False, result) # try just staff result = user_is_mgr_of_practice(staff.user, practice) self.assertEqual(False, result) # now office manager (make staff an OM) om = Office_Manager.objects.create(user=staff, practice=practice, manager_role=1) result = user_is_mgr_of_practice(om.user.user, practice) self.assertEqual(True, result) result = user_is_mgr_of_practice(staff.user, practice) self.assertEqual(True, result)
def setUpClass(cls): clean_db_datas() user = create_user( 'practicemgr1', 'lin', 'xing', 'demo', '', '', '', '', ) cls.user = user call_group = CallGroup(description='test', team='team') call_group.save() cls.group = call_group practice = PracticeLocation( practice_name='Test Org', practice_longit='0.1', practice_lat='0.0', ) practice.save() cls.practice = practice provider = Provider() provider.user = cls.user provider.office_lat = 0.0 provider.office_longit = 0.0 provider.current_practice = practice provider.save() provider.practices.add(practice) cls.provider = provider practice.call_groups.add(call_group) cls.practice = practice
def testPracticeManage(self): practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',) practice.save() self.user.current_practice = practice self.user.practices.add(practice) self.user.save() response = self.client.get(reverse\ ('MHLogin.api.v1.views_account.practiceManage'), **self.extra) self.assertEqual(response.status_code, 200, response.status_code) msg = json.loads(response.content) self.assertEqual(len(msg), 2) response = self.client.post(reverse\ ('MHLogin.api.v1.views_account.practiceManage'), **self.extra) self.assertEqual(response.status_code, 200, response.status_code) msg = json.loads(response.content) self.assertEqual(len(msg), 2) response = self.client.post(reverse\ ('MHLogin.api.v1.views_account.practiceManage'), data={'current_practice':practice.id}, **self.extra) self.assertEqual(response.status_code, 200, response.status_code) msg = json.loads(response.content) self.assertEqual(len(msg), 2)
def testLocalOffice(self): practice = PracticeLocation(practice_name = "pyang",practice_address1="Palo Alto",\ practice_longit = 0.0,practice_lat = 0.0) practice.save() data = {'id': practice.id} response = self.client.post(reverse\ ('MHLogin.api.v1.views_practices.localOffice'), data, **self.extra) self.assertEqual(response.status_code, 200, response.status_code)
def test_get_all_providers_and_staffs(self): request = generateHttpRequest() #get method request.method = 'GET' result = get_all_providers_and_staffs(request) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'GE002') #post method request.method = 'POST' #find 0 any type user result = get_all_providers_and_staffs(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['users']), 0) #has 1 nppa user = create_user('np1', 'abc', '', 'demo') provider = Provider(user=user, username='******', first_name='abc', last_name='', office_lat=0.0, office_longit=0.0) provider.save() nppa = NP_PA(user=provider) nppa.save() request.POST['name'] = unicode('abc') result = get_all_providers_and_staffs(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['users']), 1) self.assertEqual(msg['users'][0]['first_name'], 'abc') phy = Physician(user=provider) phy.save() result = get_all_providers_and_staffs(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['users']), 2) self.assertEqual(msg['users'][0]['first_name'], 'abc') #staff organization_type = create_org_type() practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0', mdcom_phone='8005550085', organization_type=organization_type) practice.save() staff = OfficeStaff(user=request.user, current_practice=practice) staff.save() staff.practices.add(practice) request.POST['name'] = unicode(request.user.first_name) result = get_all_providers_and_staffs(request) self.assertEqual(result.status_code, 200) self.assertEqual(len(msg['users']), 2) self.assertEqual(msg['users'][0]['first_name'], 'abc')
def testPracticeStaff(self): practice = PracticeLocation(practice_name = "pyang",practice_address1="Palo Alto",\ practice_longit = 0.0,practice_lat = 0.0) practice.save() response = self.client.get\ (reverse('MHLogin.api.v1.views_practices.practiceStaff',\ args=(practice.id,)), **self.extra) self.assertEqual(response.status_code, 200, response.status_code)
def testPracticeStaff(self): practice = PracticeLocation(practice_name = "pyang",practice_address1="Palo Alto",\ practice_longit = 0.0,practice_lat = 0.0) practice.save() response = self.client.get\ (reverse('MHLogin.api.v1.views_practices.practiceStaff',\ args=(practice.id,)), **self.extra) self.assertEqual(response.status_code, 200, response.status_code)
def test_isMultiCallGroupManager(self): #init practice and call group call_group = CallGroup(description='test', team='team') call_group.save() practice = PracticeLocation( practice_name='test', practice_longit='0.1', practice_lat='0.0', ) practice.save() practice.call_groups.add(call_group) user = create_user('user1', 'us', 'er', 'demo') #only mhluser call method result = isMultiCallGroupManager(user, practice.id, call_group.id) self.assertEqual(result, False) #staff call method staff = OfficeStaff(user=user) staff.save() result = isMultiCallGroupManager(user, call_group.id, practice.id) self.assertEqual(result, False) practice2 = PracticeLocation( practice_name='test2', practice_longit='0.1', practice_lat='0.0', ) practice2.save() practice2.call_groups.add(call_group) #manager call method staff.practices.add(practice) staff.save() manager = Office_Manager(user=staff, practice=practice, manager_role=1) manager.save() result = isMultiCallGroupManager(user, call_group.id, practice.id) self.assertEqual(result, True) #manager with specialty call method specialty_name = 'Specialty A' specialty1 = Specialty() specialty1.name = specialty_name specialty1.practice_location = practice specialty1.number_selection = 3 specialty1.save() specialty1.call_groups.add(call_group) manager2 = Office_Manager(user=staff, practice=practice2, manager_role=1) manager2.save() result = isMultiCallGroupManager(user, call_group.id, practice.id) self.assertEqual(result, True)
def setUpClass(cls): clean_db_datas() cls.call_group = CallGroup.objects.create(description='test', team='team') cls.user = create_user('practicemgr1', 'lin', 'xing', 'demo') cls.user1 = create_user('practicemgr2', 'yang', 'peng', 'demo') cls.user2 = create_user('practicemgr234', 'yang1', 'peng1', 'demo') practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0', call_group = cls.call_group,) practice.save() practice1 = PracticeLocation(practice_name='test1', practice_longit='0.1', practice_lat='0.0', call_group = cls.call_group,) practice1.save() OrganizationRelationship.objects.create(organization=practice,\ parent=practice1,create_time=int(time.time()),billing_flag=True) cls.practice = practice cls.practice1 = practice1 provider = Provider(user=cls.user1, office_lat=0.0, office_longit=0.0, current_practice = practice) provider.save() provider.practices.add(practice) provider.practices.add(practice1) cls.provider = provider cls.provider2 = Provider(username="******", first_name="doc", last_name="holiday", office_lat=0.0, office_longit=0.0) cls.provider2.set_password("holiday") cls.provider2.save() VMBox_Config(owner=cls.provider2).save() staff = OfficeStaff() staff.user = cls.user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = practice staff.save() staff.practices.add(practice) cls.event = EventEntry(creator=cls.user, oncallPerson=cls.user1, callGroup=cls.call_group, startDate=datetime.datetime(2012, 12, 1), endDate=datetime.datetime.now()+datetime.timedelta(days = 2), title='test event', oncallLevel='0', eventStatus=1, checkString='abc' ) cls.event.save() mgr = Office_Manager(user=staff, practice=practice, manager_role=2) mgr.save() generate_keys_for_users(output=DevNull())
def testGetPracticeList(self): practice1 = PracticeLocation( practice_name='USA practice', practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615 beijing', practice_city='Mountain View suzhou', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864) practice1.save() practice2 = PracticeLocation( practice_name='China practice', practice_address1='jiangsu', practice_address2='beijing', practice_city='suzhou', practice_state='JS', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864) practice2.save() condition_dicts = [ {'practice_name':u'practice','result':2,'result_failed':'name failed'}, {'practice_name':u'USA','result':1,'result_failed':'name failed'}, {'practice_name':u'abc','result':0,'result_failed':'name failed'}, {'practice_address':u'jiangsu','result':1,'result_failed':'address failed'}, {'practice_address':u'beijing','result':2,'result_failed':'address failed'}, {'practice_address':u'abc','result':0,'result_failed':'address failed'}, {'practice_city':u'Mountain','result':1,'result_failed':'city failed1'}, {'practice_city':u'suzhou','result':2,'result_failed':'city failed2'}, {'practice_city':u'abc','result':0,'result_failed':'city failed3'}, {'practice_state':u'CA','result':1,'result_failed':'state failed'}, {'practice_state':u'JS','result':1,'result_failed':'state failed'}, {'practice_state':u'abc','result':0,'result_failed':'state failed'}, {'practice_zip':'94040-4104','result':2,'result_failed':'zip failed'}, {'practice_zip':u'22222','result':0,'result_failed':'zip failed'}, {'limit':0,'result':2, 'result_total':2, 'result_failed':'limit failed'}, {'limit':1,'result':1, 'result_total':2, 'result_failed':'limit failed'}, {'limit':2,'result':2, 'result_total':2, 'result_failed':'limit failed'}, { 'practice_name':u'practice','address':u'suzhou china','city':u'suzhou','state':u'AB', 'limit':2,'result':2, 'result_total':2, 'result_failed':'all failed1' }, { 'practice_name':u'abc','address':u'suzhou china','city':u'suzhou','state':u'AB', 'limit':1,'result':0, 'result_total':0, 'result_failed':'all failed2' }, ] for dict in condition_dicts: result = getPracticeList(dict) if 'result_total' not in dict: dict['result_total'] = dict['result'] self.assertEqual(dict['result_total'], result['total_count'], dict['result_failed']) self.assertEqual(dict['result'], len(result['results']), dict['result_failed'])
class ChangeCurrentPracticeForStaffTest(TestCase): staff = None practice = None def setUp(self): self.staff = create_user("bblazejowsky", "bill", "blazejowsky", "demo", "Ocean Avenue", "Carmel", "CA", "93921", uklass=OfficeStaff) PracticeLocation.objects.all().delete() self.practice = PracticeLocation( practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864) self.practice.save() def tearDown(self): OfficeStaff.objects.filter(id=self.staff.id).delete() MHLUser.objects.filter(id=self.staff.user.id).delete() PracticeLocation.objects.all().delete() def testChangeCurrentPracticeForStaff(self): with self.assertRaises(PracticeLocation.DoesNotExist): changeCurrentPracticeForStaff(None, self.staff.user.id) with self.assertRaises(MHLUser.DoesNotExist): changeCurrentPracticeForStaff(self.practice.id, None) with self.assertRaises(PracticeLocation.DoesNotExist): changeCurrentPracticeForStaff(self.practice.id + 1, self.staff.user.id) changeCurrentPracticeForStaff(self.practice.id, self.staff.user.id) staff = OfficeStaff.objects.filter(id=self.staff.id) if staff: staff = staff[0] self.assertEqual(staff.current_practice.id, self.practice.id) mhluser = MHLUser.objects.filter(id=self.staff.user.id) if mhluser: mhluser = mhluser[0] practice = self.practice self.assertEqual(practice.practice_address1, mhluser.address1) self.assertEqual(practice.practice_address2, mhluser.address2) self.assertEqual(practice.practice_city, mhluser.city) self.assertEqual(practice.practice_state, mhluser.state) self.assertEqual(practice.practice_zip, mhluser.zip) self.assertEqual(practice.practice_lat, mhluser.lat) self.assertEqual(practice.practice_longit, mhluser.longit)
def testMyPracticeStaff(self): practice = PracticeLocation(practice_name = "pyang",practice_address1="Palo Alto",\ practice_longit = 0.0,practice_lat = 0.0) practice.save() data = { 'id': practice.id } response = self.client.post(reverse\ ('MHLogin.api.v1.views_practices.myPracticeStaff'), data, **self.extra) self.assertEqual(response.status_code, 200, response.status_code)
def setUpClass(cls): clean_db_datas() cls.user = create_user('practicemgr1', 'lin', 'xing', 'demo') practice = PracticeLocation( practice_name='test', practice_longit='0.1', practice_lat='0.0', ) practice.save() cls.practice = practice
def testProfile(self): phys = Physician(user = self.user) phys.save() data = { 'username':get_random_username(), 'first_name':'c', 'last_name':'tian', 'mobile_phone':9001111111, 'gender':'M', 'old_email':'*****@*****.**', 'email':'*****@*****.**', 'lat':0.0, 'longit':0.0, 'address1':'address1', 'address2':'address2', 'city':'Chicago', 'state':'IL', 'zip':60601, 'user_type':1, 'office_lat':41.885805, 'office_longit':-87.6229106, } response = self.client.post(reverse\ ('MHLogin.api.v1.views_account.profile'), data,**self.extra) self.assertEqual(response.status_code, 200, response.status_code) msg = json.loads(response.content) self.assertEqual(len(msg), 2) site = Site( name='mysite', address1='555 Pleasant Pioneer Grove', address2='Trailer Q615', city='Mountain View', state='CA', zip='94040-4104', lat=37.36876, longit=-122.081864, short_name='MSite' ) site.save() practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',) practice.save() self.user.current_site = site self.user.current_practice = practice self.user.save() response = self.client.get(reverse\ ('MHLogin.api.v1.views_account.profile'), data,**self.extra) self.assertEqual(response.status_code, 200, response.status_code) msg = json.loads(response.content) self.assertEqual(len(msg), 2)
class GetSubTypesICanUseTest(TestCase): org_type = None admin = None manager = None organization = None def setUp(self): clean_db_datas() OrganizationType.objects.all().delete() org_setting = OrganizationSetting() org_setting.save() self.org_type = OrganizationType(name="Test Org Type1", organization_setting=org_setting, is_public=True) # TODO: issue 2030, reserved id's is a hazardous approach, the UT's # were working with SQLlite but not with MySQL, DB engines recycle # id's differently and we should not rely on reserved id fields. This # should be addressed in a separate Redmine as model changes may occur. self.org_type.id = RESERVED_ORGANIZATION_TYPE_ID_PRACTICE self.org_type.save() self.organization = create_organization() self.organization = PracticeLocation( practice_name=get_random_username(), practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864) self.organization.save() self.admin = create_user('admin', 'Morris', 'Kelly', 'demo', uklass=Administrator) staff = create_user('practicemgr1', 'Practice', 'Mgr', 'demo', uklass=OfficeStaff) staff.practices.add(self.organization) staff.save() self.manager = Office_Manager(user=staff, practice=self.organization, manager_role=1) self.manager.save() def test_get_sub_types_I_can_use_empty(self): self.assertEqual(0, len(get_sub_types_by_typeid(self.org_type.id))) def test_get_sub_types_I_can_use(self): create_multiple_organization_types(self.org_type, num=10) self.assertEqual(10, len(get_sub_types_by_typeid(self.org_type.id))) create_multiple_organization_types(self.org_type, num=10, is_public=False) self.assertEqual(10, len(get_sub_types_by_typeid(self.org_type.id))) self.assertEqual(0, len(get_sub_types_by_typeid(self.org_type.id, is_public=True))) def tearDown(self): pass
def create_practice(): practice = PracticeLocation(practice_name='USA practice', practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864) practice.save() return practice
def create_practice(): practice = PracticeLocation( practice_name='USA practice', practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864) practice.save() return practice
def testProfile(self): phys = Physician(user=self.user) phys.save() data = { 'username': get_random_username(), 'first_name': 'c', 'last_name': 'tian', 'mobile_phone': 9001111111, 'gender': 'M', 'old_email': '*****@*****.**', 'email': '*****@*****.**', 'lat': 0.0, 'longit': 0.0, 'address1': 'address1', 'address2': 'address2', 'city': 'Chicago', 'state': 'IL', 'zip': 60601, 'user_type': 1, 'office_lat': 41.885805, 'office_longit': -87.6229106, } response = self.client.post(reverse\ ('MHLogin.api.v1.views_account.profile'), data,**self.extra) self.assertEqual(response.status_code, 200, response.status_code) msg = json.loads(response.content) self.assertEqual(len(msg), 2) site = Site(name='mysite', address1='555 Pleasant Pioneer Grove', address2='Trailer Q615', city='Mountain View', state='CA', zip='94040-4104', lat=37.36876, longit=-122.081864, short_name='MSite') site.save() practice = PracticeLocation( practice_name='test', practice_longit='0.1', practice_lat='0.0', ) practice.save() self.user.current_site = site self.user.current_practice = practice self.user.save() response = self.client.get(reverse\ ('MHLogin.api.v1.views_account.profile'), data,**self.extra) self.assertEqual(response.status_code, 200, response.status_code) msg = json.loads(response.content) self.assertEqual(len(msg), 2)
def setUpClass(cls): clean_db_datas() organization_type = create_org_type() practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0', mdcom_phone='8005550085', organization_type=organization_type) practice.save() cls.practice = practice user = create_user('practicemgr1', 'lin', 'xing', 'demo') cls.user = user
def setUpClass(cls): clean_db_datas() organization_type = create_org_type() practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0', mdcom_phone='8005550085', organization_type=organization_type) practice.save() cls.practice = practice user = create_user('practicemgr1', 'lin', 'xing', 'demo') cls.user = user
def test_isMultiCallGroupManager(self): #init practice and call group call_group = CallGroup(description='test', team='team') call_group.save() practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',) practice.save() practice.call_groups.add(call_group) user = create_user('user1', 'us', 'er', 'demo') #only mhluser call method result = isMultiCallGroupManager(user, practice.id, call_group.id) self.assertEqual(result, False) #staff call method staff = OfficeStaff(user=user) staff.save() result = isMultiCallGroupManager(user, call_group.id, practice.id) self.assertEqual(result, False) practice2 = PracticeLocation(practice_name='test2', practice_longit='0.1', practice_lat='0.0',) practice2.save() practice2.call_groups.add(call_group) #manager call method staff.practices.add(practice) staff.save() manager = Office_Manager(user=staff, practice=practice, manager_role=1) manager.save() result = isMultiCallGroupManager(user, call_group.id, practice.id) self.assertEqual(result, True) #manager with specialty call method specialty_name = 'Specialty A' specialty1 = Specialty() specialty1.name = specialty_name specialty1.practice_location = practice specialty1.number_selection = 3 specialty1.save() specialty1.call_groups.add(call_group) manager2 = Office_Manager(user=staff, practice=practice2, manager_role=1) manager2.save() result = isMultiCallGroupManager(user, call_group.id, practice.id) self.assertEqual(result, True)
def setUpClass(cls): clean_db_datas() cls.user = create_user('practicemgr1', 'lin', 'xing', 'demo', '', '', '', '',) group = CallGroup(description='test', team='team') group.save() cls.group = group practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',) practice.save() practice.call_groups.add(group) cls.practice = practice
def setUpClass(cls): clean_db_datas() cls.user = create_user('practicemgr1', 'lin', 'xing', 'demo') cls.user1 = create_user('practicemgr11', 'y', 'p', 'demo') cls.broker = create_user("broker1", "bro", "1", "demo", "123 Main St.", "Phoenix", "AZ", uklass=Broker) practice = PracticeLocation( practice_name='test', practice_longit='0.1', practice_lat='0.0', ) practice.save() practice1 = PracticeLocation( practice_name='test1', practice_longit='0.1', practice_lat='0.0', ) practice1.save() OrganizationRelationship.objects.create(organization=practice,\ parent=practice1, create_time=int(time.time()), billing_flag=True) cls.practice = practice staff = OfficeStaff() staff.user = cls.user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = practice staff.save() staff.practices.add(practice) cls.provider = Provider(user=cls.user1, office_lat=0.0, office_longit=0.0, current_practice=practice) cls.provider.mdcom_phone = '5948949899' cls.provider.save() # mgr = Office_Manager(user=staff, practice=practice, manager_role=2) mgr.save()
def ct_practice(name, organization_type): """ create test practice now this is also as organization """ practices = PracticeLocation.objects.filter(practice_name=name) if practices: return practices[0] practice = PracticeLocation(practice_name='name', practice_longit='0.1', practice_lat='0.0', mdcom_phone='8005550085', organization_type=organization_type) practice.save() return practice
def ct_practice(name, organization_type): """ create test practice now this is also as organization """ practices = PracticeLocation.objects.filter(practice_name=name) if practices: return practices[0] practice = PracticeLocation(practice_name='name', practice_longit='0.1', practice_lat='0.0', mdcom_phone='8005550085', organization_type=organization_type) practice.save() return practice
def testGetDComNumber(self): user = create_user(get_random_username(), "tian", "thj", "demo", "555 Bryant St.", "Palo Alto", "CA", "", uklass=OfficeStaff) user.mdcom_phone = '9001234123' user.save() practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',) practice.save() mgr = Office_Manager(user=user, practice=practice, manager_role=2) mgr.save() response = self.client.get(reverse\ ('MHLogin.api.v1.views_account.getDComNumber'), **self.extra) self.assertEqual(response.status_code, 200, response.status_code) msg = json.loads(response.content) self.assertEqual(len(msg), 2)
def test_display_scheduler_nopractice(self): dataEmpty = {} staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) manager = Office_Manager(user=staff, practice=self.practice, manager_role=2) manager.save() practice2 = PracticeLocation(practice_name='test2', practice_longit='0.1', practice_lat='0.0',) practice2.save() manager.practice = practice2 manager.save() response = self.client.get(reverse('MHLogin.MHLCallGroups.Scheduler.'\ 'views_multicallgroup.display_scheduler', args=(practice2.id, 0)), data=dataEmpty) self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'error_multicallgroup.html')
def setUpClass(cls): clean_db_datas() cls.user = create_user(get_random_username(), 'lin', 'xing', 'demo') cls.user1 = create_user(get_random_username(), 'y', 'p', 'demo') cls.user2 = create_user(get_random_username(), 'y', 'p', 'demo') cls.to_user = create_user(get_random_username(), "tian", "thj", "demo", "555 Bryant St.", "Palo Alto", "CA", "") practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',) practice.save() practice1 = PracticeLocation(practice_name='test1', practice_longit='0.1', practice_lat='0.0',) practice1.save() OrganizationRelationship.objects.create(organization=practice,\ parent=practice1,create_time=int(time.time()),billing_flag=True) cls.practice = practice cls.practice1 = practice1 assoc = Pending_Association() assoc.from_user = cls.user1 assoc.to_user = cls.to_user assoc.practice_location = practice assoc.created_time = datetime.datetime(2013, 5, 14, 12, 30) assoc.resent_time = datetime.datetime(2013, 5, 14, 13, 30) assoc.save() cls.assoc = assoc provider = Provider(user=cls.to_user, office_lat=0.0, office_longit=0.0, current_practice = practice) provider.save() cls.provider = provider staff = OfficeStaff() staff.user = cls.user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = practice staff.save() staff.practices.add(practice) mgr = Office_Manager(user=staff, practice=practice, manager_role=2) mgr.save()
def create_organization_not_member(org_type=None): org_setting = OrganizationSetting() org_setting.save() org_type = OrganizationType(name="Test Org Type", organization_setting=org_setting, is_public=True) organization_not_member = PracticeLocation( practice_name="Test2", practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864) if org_type: organization_not_member.organization_type = org_type organization_not_member.save() return organization_not_member
def setUpClass(cls): clean_db_datas() cls.user = create_user('practicemgr1', 'lin', 'xing', 'demo') org_setting = OrganizationSetting() org_setting.save() org_type = OrganizationType(name="Test Org Type", organization_setting=org_setting, is_public=True) org_type.save() cls.org_type = org_type sub_types = create_multiple_organization_types(org_type) cls.sub_types = sub_types practice = PracticeLocation( practice_name='test', practice_longit='0.1', practice_lat='0.0', organization_type=org_type, ) practice.save() practice1 = PracticeLocation( practice_name='test1', practice_longit='0.1', practice_lat='0.0', organization_type=org_type, ) practice1.save() OrganizationRelationship.objects.create(organization=practice, parent=practice1, create_time=int(time.time()), billing_flag=True) cls.practice = practice cls.practice1 = practice1 staff = OfficeStaff() staff.user = cls.user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = practice staff.save() staff.practices.add(practice) mgr = Office_Manager(user=staff, practice=practice, manager_role=2) mgr.save()
def test_checkMultiCallGroupId(self): #init practice and call group call_group = CallGroup(description='test', team='team') call_group.save() practice = PracticeLocation( practice_name='test', practice_longit='0.1', practice_lat='0.0', ) practice.save() practice.call_groups.add(call_group) #pass a valid parameter result = checkMultiCallGroupId(practice.id, call_group.id) self.assertEqual(call_group.id, result) #practice not exist # result = checkMultiCallGroupId(117, 0) # self.assertRaises(PracticeLocation.DoesNotExist, result) #pass a invalid call group parameter result = checkMultiCallGroupId(practice.id, 0) self.assertEqual(call_group.id, result) #ther is a specialty practice2 = PracticeLocation( practice_name='test2', practice_longit='0.1', practice_lat='0.0', ) practice2.save() specialty_name = 'Specialty A' specialty1 = Specialty() specialty1.name = specialty_name specialty1.practice_location = practice2 specialty1.number_selection = 3 specialty1.save() specialty1.call_groups.add(call_group) result = checkMultiCallGroupId(practice2.id, 0) self.assertEqual(call_group.id, result)
def test_mail_managers(self): practice = PracticeLocation( practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864) practice.save() subject = 'abc' body = 'test' sender = None result = mail_managers(practice, subject, body, sender) self.assertIsNone(result) sender = '*****@*****.**' result = mail_managers(practice, subject, body, sender) self.assertIsNone(result)
def test_mail_managers(self): practice = PracticeLocation( practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit= -122.081864) practice.save() subject = 'abc' body = 'test' sender = None result = mail_managers(practice, subject, body, sender) self.assertIsNone(result) sender = '*****@*****.**' result = mail_managers(practice, subject, body, sender) self.assertIsNone(result)
def test_canAccessMultiCallGroup(self): #init practice and call group call_group = CallGroup(description='test', team='team') call_group.save() practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',) practice.save() practice.call_groups.add(call_group) #admin call this method admin = create_user('user-access-group2', 'us', 'er', 'demo', '', '', '', '', Administrator) result = canAccessMultiCallGroup(admin.user, call_group, practice.id) self.assertEqual(result, True) #not admin call this method user = create_user('user-access-group', 'us', 'er', 'demo') result = canAccessMultiCallGroup(user, call_group, practice.id) self.assertEqual(result, False)
def testSetOfficeStaffResultList(self): # create office staff staff = create_office_staff(get_random_username(), "staff", "thj", "demo", "555 Bryant St.", "Palo Alto", "CA", "", uklass=OfficeStaff) staff2 = create_office_staff(get_random_username(), "nurse", "thj", "demo", "555 Bryant St.", "Palo Alto", "CA", "", uklass=OfficeStaff) nurse = Nurse(user=staff2) nurse.save() staff3 = create_office_staff(get_random_username(), "maneger", "thj", "demo", "555 Bryant St.", "Palo Alto", "CA", "", uklass=OfficeStaff) mgr = Office_Manager(user=staff3) practice = PracticeLocation( practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864) practice.save() mgr.manager_role = 1 mgr.practice = practice mgr.save() mhlu = create_user(get_random_username(), "mhluser", "thj", "demo", "555 Bryant St.", "Palo Alto", "CA", "") mhlu.mdcom_phone = '9002000001' mhlu.save() self.assertEqual(0, len(setOfficeStaffResultList([])), 'test failed for setOfficeStaffResultList null') self.assertEqual(1, len(setOfficeStaffResultList([staff])), 'test failed for setOfficeStaffResultList staff') # self.assertEqual(1, len(setOfficeStaffResultList([nurse])), #'test failed for setOfficeStaffResultList nurse') self.assertEqual(1, len(setOfficeStaffResultList([mgr])), 'test failed for setOfficeStaffResultList mgr') self.assertEqual(3, len(setOfficeStaffResultList([staff, nurse.user, mgr])), 'test failed for setOfficeStaffResultList') self.assertEqual(3, len(setOfficeStaffResultList([staff, nurse.user, mgr], staff)), 'test failed for setOfficeStaffResultList')
def setUpClass(cls): clean_db_datas() cls.user = create_user('practicemgr1', 'lin', 'xing', 'demo') cls.user1 = create_user('practicemgr2', 'yang', 'peng', 'demo') practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',) practice.save() practice1 = PracticeLocation(practice_name='test1', practice_longit='0.1', practice_lat='0.0',) practice1.save() OrganizationRelationship.objects.create(organization=practice,\ parent=practice1,create_time=int(time.time()),billing_flag=True) cls.practice = practice cls.practice1 = practice1 staff = OfficeStaff() staff.user = cls.user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = practice staff.save() staff.practices.add(practice) cls.staff = staff cls.content_type=ContentType.objects.get_for_model(cls.user1) try: perm = Permission.objects.get(codename='access_smartphone',\ name='Can use smartphone app', \ content_type=ContentType.objects.get_for_model(MHLUser)) staff.user.user_permissions.remove(perm) staff.save() except: with cls.assertRaises(Permission.DoesNotExist):\ Permission.objects.get(codename='access_smartphone',\ name='Can use smartphone app', \ content_type=ContentType.objects.get_for_model(MHLUser)) mgr = Office_Manager(user=staff, practice=practice, manager_role=2) mgr.save()
def setUpClass(cls): clean_db_datas() cls.user = create_user('practicemgr1', 'lin', 'xing', 'demo') cls.admin = create_user("sduper", "super", "duper", "demo", "Ocean Avenue", "Carmel", "CA", "93921", uklass=Administrator) cls.admin.save() org_setting = OrganizationSetting(can_have_manager=True,\ can_have_nurse=True,can_have_dietician=True) org_setting.save() org_type = OrganizationType(name="Test Org Type", \ organization_setting=org_setting, is_public=True) org_type.save() cls.org_type = org_type cls.org_setting = org_setting practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0', organization_setting =org_setting, organization_type = org_type) practice.save() practice1 = PracticeLocation(practice_name='test1', practice_longit='0.1', practice_lat='0.0', organization_setting =org_setting, organization_type = org_type) practice1.save() cls.practice = practice cls.practice1 = practice1 staff = OfficeStaff() staff.user = cls.user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = practice staff.save() staff.practices.add(practice) cls.staff = staff mgr = Office_Manager(user=staff, practice=practice, manager_role=2) mgr.save()
def setUp(self): clean_db_datas() org_setting = OrganizationSetting(can_have_physician=True) org_setting.save() self.org_setting = org_setting org_type = OrganizationType(name="Test Org Type", organization_setting=org_setting, is_public=True) org_type.save() self.org_type = org_type practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0', organization_type=org_type, organization_setting=org_setting,) practice.save() self.practice = practice user = create_user('admin', 'Morris', 'Kelly', 'demo', uklass=Administrator) user.save() self.client.post('/login/', {'username': user.user.username, 'password': '******'})
def test_get_practices_by_position(self): lat = 0.0 longit = 0.0 distance = None result = get_practices_by_position(lat, longit, distance) self.assertEqual(len(result), 0) lat = 12.1 longit = 12.0 distance = 2 result = get_practices_by_position(lat, longit, distance) self.assertEqual(len(result), 0) try: org_type = OrganizationType.objects.get( pk=RESERVED_ORGANIZATION_TYPE_ID_PRACTICE) except OrganizationType.DoesNotExist: setting = OrganizationSetting() setting.save() org_type = OrganizationType( pk=RESERVED_ORGANIZATION_TYPE_ID_PRACTICE, organization_setting=setting) org_type.save() location = PracticeLocation( practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864, organization_type=org_type) location.save() lat = 37 longit = -122.0 distance = None result = get_practices_by_position(lat, longit, distance) self.assertEqual(len(result), 1)
def test_canAccessMultiCallGroup(self): #init practice and call group call_group = CallGroup(description='test', team='team') call_group.save() practice = PracticeLocation( practice_name='test', practice_longit='0.1', practice_lat='0.0', ) practice.save() practice.call_groups.add(call_group) #admin call this method admin = create_user('user-access-group2', 'us', 'er', 'demo', '', '', '', '', Administrator) result = canAccessMultiCallGroup(admin.user, call_group, practice.id) self.assertEqual(result, True) #not admin call this method user = create_user('user-access-group', 'us', 'er', 'demo') result = canAccessMultiCallGroup(user, call_group, practice.id) self.assertEqual(result, False)
def test_changeCurrentPracticeForStaff(self, start_thread): practice = PracticeLocation( practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864) practice.save() user = create_user('practicemgr1', 'lin', 'xing', 'demo') staff = OfficeStaff(user=user) staff.save() result = changeCurrentPracticeForStaff(practice.id, user.pk) self.assertEqual(result, practice) try: changeCurrentPracticeForStaff(0, user.pk) except: PracticeLocation.DoesNotExist try: result = changeCurrentPracticeForStaff(practice.id, 0) except: MHLUser.DoesNotExist
def create_multiple_organizations(num=10, org_type=None): orgs = [] if not org_type: org_setting = OrganizationSetting() org_setting.save() org_type = OrganizationType(name="Test Org Type2", organization_setting=org_setting, is_public=True) org_type.save() for i in xrange(num): practice_name = "".join(["Test1_", str(i)]) _organization = PracticeLocation( practice_name=practice_name, practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864, organization_type=org_type) _organization.save() orgs.append(_organization) return orgs
class GetOrgMembersTest(TestCase): org_staff = [] org_providers = [] org = None staff = None provider = None def setUp(self): clean_db_datas() org_setting = OrganizationSetting() org_setting.save() org_type = OrganizationType(name="Test Org Type", organization_setting=org_setting, is_public=True) org_type.save() self.org = PracticeLocation( practice_name="Test1", practice_address1='555 Pleasant Pioneer Grove', practice_address2='Trailer Q615', practice_city='Mountain View', practice_state='CA', practice_zip='94040-4104', practice_lat=37.36876, practice_longit=-122.081864) self.org.organization_type = org_type self.org.save() for i in range(10): user_name = "".join(["Staff1_", str(i)]) first_name = "".join(["Test1_", str(i)]) user = create_user(user_name, first_name, 'S', 'demo', uklass=OfficeStaff) self.org_staff.append(user) # IntegrityError: column username is not unique # provider_name = "".join(["Pravider1_", str(i)]) # pro = create_user(provider_name, 'Provider', 'P', 'demo', uklass=Provider) # self.org_providers.append(pro) self.staff = create_user("Staff2", 'Test2', 'S', 'demo', uklass=OfficeStaff) self.staff.save() self.provider = create_user("Pravider2", 'Provider', 'P', 'demo', uklass=Provider) self.provider.save() def testGetOrgMembers(self): user_ids = [] staff_user_ids = [] provider_user_ids = [] for usr in self.org_staff: usr.practices.add(self.org) usr.save() user_ids.append(usr.user.id) staff_user_ids.append(usr.user.id) for usr in self.org_providers: usr.practices.add(self.org) usr.save() user_ids.append(usr.user.id) provider_user_ids.append(usr.user.id) members = getOrgMembers(self.org.id) member_ids = [p.user.id for p in members] self.assertListEqual(user_ids, member_ids) self.assertNotIn(self.provider.user.id, member_ids) self.assertNotIn(self.staff.user.id, member_ids) self.assertEqual(0, len(get_org_staff(self.org.id, user_name="Staff2"))) self.assertEqual(1, len(get_org_staff(self.org.id, user_name="Test1_1"))) for id in user_ids: self.assertTrue(is_user_in_this_org(self.org.id, user_id=id)) self.assertFalse( is_user_in_this_org(self.org.id, user_id=self.staff.user.id)) self.assertFalse(is_user_in_this_org(self.org.id, user_name="Staff2")) self.assertFalse( is_user_in_this_org(self.org.id, user_name="Provider2")) def tearDown(self): pass
def setUpClass(cls): from MHLogin.MHLOrganization.tests.utils import create_multiple_organization_types clean_db_datas() cls.user = create_user('practicemgr1', 'lin', 'xing', 'demo') org_setting = OrganizationSetting(can_have_staff=True, can_have_nurse=True, can_have_dietician=True) org_setting.save() org_type = OrganizationType(name="Test Org Type - old type", organization_setting=org_setting, is_public=True) org_type.save() cls.org_type = org_type parent_org_type = OrganizationType(name="Test Org Type - parent type", organization_setting=org_setting, is_public=True) parent_org_type.save() cls.parent_org_type = parent_org_type sub_types = create_multiple_organization_types(parent_org_type) cls.sub_types = sub_types old_parent_practice = PracticeLocation(practice_name='old org parent', practice_longit='0.1', practice_lat='0.0', organization_setting=org_setting, organization_type=parent_org_type,) old_parent_practice.save() OrganizationRelationship.objects.create(organization=old_parent_practice, parent=None, create_time=int(time.time()), billing_flag=True) cls.old_parent_practice = old_parent_practice practice = PracticeLocation(practice_name='test org', practice_longit='0.1', practice_lat='0.0', organization_setting=org_setting, organization_type=org_type,) practice.save() OrganizationRelationship.objects.create(organization=practice,\ parent=old_parent_practice, create_time=int(time.time()), billing_flag=True) new_parent_practice = PracticeLocation(practice_name='new org parent', practice_longit='0.1', practice_lat='0.0', organization_setting=org_setting, organization_type=parent_org_type,) new_parent_practice.save() OrganizationRelationship.objects.create(organization=new_parent_practice, parent=None, create_time=int(time.time()), billing_flag=True) cls.new_parent_practice = new_parent_practice cls.practice = practice staff = OfficeStaff() staff.user = cls.user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = practice staff.save() staff.practices.add(practice) staff.practices.add(old_parent_practice) staff.practices.add(new_parent_practice) cls.staff = staff Office_Manager.objects.create(user=staff, practice=practice, manager_role=2) datadict = { 'user_type':1, 'org_id': practice.id, 'username':get_random_username(), 'first_name':'yang', 'last_name':'peng', 'mobile_phone':9001111111, 'gender':'M', 'email':'*****@*****.**', 'lat':0.0, 'longit':0.0, 'address1':'address1', 'address2':'address2', 'city':'Chicago', 'state':'IL', 'zip':60601, 'user_type':1, 'office_lat':41.885805, 'office_longit':-87.6229106, } cls.datadict = datadict