def test_saveViewInfo(self): staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() #get method response = self.client.get(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.saveViewInfo', args=(self.practice.id, self.call_group.id))) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['view'], '') #403 call_group2 = CallGroup(description='test2', team='team') call_group2.save() response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.saveViewInfo', args=(self.practice.id, call_group2.id))) self.assertEqual(response.status_code, 403) #post method without session view = {'view': '{"name": "month", "start": "2012-12-01 00:00:00", "end": "2013-01-01 00:00:00"}'} response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.saveViewInfo', args=(self.practice.id, self.call_group.id)), data=view) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['view'], view['view'])
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_new_event(self): staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() #get method response = self.client.get(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.bulkNewEvents', args=(self.practice.id, self.call_group.id))) self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, "bulkOperation.html") #post method #not save new event,provider is not in the call group provider = Provider(username='******', first_name='tes', last_name="meister", email='*****@*****.**', office_lat=0.0, office_longit=0.0) provider.save() checkString = 'Ca69J2X6l8' newEventInvalidData = {'data': '[{"pk":null,"model":"Scheduler.evententry","fields":'\ '{"oncallPerson":"' + str(provider.id) + '","eventType":"0",'\ '"startDate":"2012-12-19 08:00:00","endDate":"2012-12-20 08:00:00",'\ '"checkString":"' + checkString + '"}}]', 'view': '{"name":"month","start":"2012-12-01 00:00:00","end":"2013-01-01 00:00:00"}'} response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.bulkNewEvents', args=(self.practice.id, self.call_group.id)), data=newEventInvalidData) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['error'][0], checkString + ', error saving new object') #save new event, provider is in the call group provider2 = Provider(username='******', first_name='tes', last_name="meister", email='*****@*****.**', office_lat=0.0, office_longit=0.0) provider2.save() cgm = CallGroupMember(call_group=self.call_group, member=provider2, alt_provider=1) cgm.save() checkString = 'Ca69J2X6l8' newEventInvalidData = {'data': '[{"pk":null,"model":"Scheduler.evententry","fields":{"oncallPerson":"' + str(provider2.id) + '","eventType":"0","startDate":"2012-12-19 08:00:00","endDate":"2012-12-20 08:00:00",\ "checkString":"' + checkString + '"}}]', 'view': '{"name":"month","start":"2012-12-01 00:00:00","end":"2013-01-01 00:00:00"}'} response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.bulkNewEvents', args=(self.practice.id, self.call_group.id)), data=newEventInvalidData) self.assertEqual(response.status_code, 200) self.assertEqual(EventEntry.objects.count(), 1) #403 call_group2 = CallGroup(description='test2', team='team') call_group2.save() response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.bulkNewEvents', args=(self.practice.id, call_group2.id)), data=newEventInvalidData) self.assertEqual(response.status_code, 403)
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 = create_organization() user1 = create_user(get_random_username(), 'Test1', 'S', 'demo') staff1 = OfficeStaff() staff1.user = user1 staff1.office_lat = 0.0 staff1.office_longit = 0.0 staff1.current_practice = self.org staff1.save() staff1.practices.add(self.org) self.manager = Office_Manager(user=staff1, practice=self.org, manager_role=1) user = create_user(get_random_username(), 'Test1', 'S', 'demo') staff = OfficeStaff() staff.user = user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.save() self.staff = staff self.provider = create_user("Pravider2", 'Provider', 'P', 'demo', uklass=Provider) self.provider.save()
def test_can_user_manage_this_org(self): user = create_user(get_random_username(), 'yang', 'peng', 'demo') admin = Administrator(user=user) admin.save() self.assertTrue( can_user_manage_this_org(self.organization.id, admin.user.id)["can_manage_org"]) self.user = create_user(get_random_username(), 'yang', 'peng', 'demo') staff = OfficeStaff() staff.user = self.user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = self.organization staff.save() staff.practices.add(self.organization) self.assertFalse( can_user_manage_this_org(self.organization.id, staff.user.id)["can_manage_org"]) Office_Manager.objects.create(user=staff, practice=self.organization, manager_role=1) self.assertTrue( can_user_manage_this_org(self.organization.id, staff.user.id)["can_manage_org"])
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 setUp(self): clean_db_datas() self.user = create_user(get_random_username(), 'yang', 'peng', 'demo') self.organization = create_organization() self.parent_organization = create_parent_organization() self.organization.save_parent_org(parent_org=self.parent_organization) staff = OfficeStaff() staff.user = self.user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = self.organization staff.save() staff.practices.add(self.organization) mgr = Office_Manager(user=staff, practice=self.organization, manager_role=2) mgr.save() self.provider = create_user(get_random_username(), "doc", "holiday", "demo", uklass=Provider) self.provider.current_practice = self.parent_organization self.provider.save() self.provider.practices.add(self.parent_organization)
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_getPenddings(self): staff = OfficeStaff(user=self.user) staff.current_practice = self.practice staff.save() staff.practices.add(self.practice) manager = Office_Manager(user=staff, practice=self.practice, manager_role=2) manager.save() response = self.client.post( reverse('MHLogin.MHLPractices.views.getPenddings')) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(len(msg), 0) pend = Pending_Association(from_user=self.user, to_user=self.user, practice_location=self.practice, created_time=datetime.datetime.now()) pend.save() response = self.client.post( reverse('MHLogin.MHLPractices.views.getPenddings')) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(len(msg), 1)
def test_local_office(self): request = generateHttpRequest() #a provider call this method result = local_office(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['practices']), 0) #a office manager login but has not current practice organization_type = create_org_type() practice = ct_practice('name', organization_type) staff = OfficeStaff(user=request.user) staff.save() manager = Office_Manager(user=staff, practice=practice, manager_role=2) manager.save() assn = SmartPhoneAssn.all_objects.get( device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 100 assn.save(request) result = local_office(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['practices']), 0) #a office manager login and has current practice staff.current_practice = practice result = local_office(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['practices']), 0)
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_getMembers(self): staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() #0 member found response = self.client.post(reverse('MHLogin.MHLCallGroups.views.getMembers', args=(self.call_group.id,))) self.assertEqual(response.status_code, 200) #1 member found provider = Provider(username='******', first_name='tes', last_name="meister", email='*****@*****.**', office_lat=0.0, office_longit=0.0) provider.save() member = CallGroupMember(call_group=self.call_group, member=provider, alt_provider=1) member.save() response = self.client.post(reverse('MHLogin.MHLCallGroups.views.getMembers', args=(self.call_group.id,))) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(len(msg), 1) self.assertEqual(msg[0][0], provider.id) #403 call_group2 = CallGroup(description='test2', team='team') call_group2.save() response = self.client.post(reverse('MHLogin.MHLCallGroups.views.getMembers', args=(call_group2.id,))) self.assertEqual(response.status_code, 403)
def test_local_office(self): request = generateHttpRequest() #a provider call this method result = local_office(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['practices']), 0) #a office manager login but has not current practice organization_type = create_org_type() practice = ct_practice('name', organization_type) staff = OfficeStaff(user=request.user) staff.save() manager = Office_Manager(user=staff, practice=practice, manager_role=2) manager.save() assn = SmartPhoneAssn.all_objects.get(device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 100 assn.save(request) result = local_office(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['practices']), 0) #a office manager login and has current practice staff.current_practice = practice result = local_office(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['practices']), 0)
def test_addProviderToPractice(self, start_thread): #user is a manager staff = OfficeStaff(user=self.user) staff.current_practice = self.practice staff.save() staff.practices.add(self.practice) manager = Office_Manager(user=staff, practice=self.practice, manager_role=2) manager.save() #invalid assoc id assocID = {'assoc_id': 'a'} response = self.client.post( reverse('MHLogin.MHLPractices.views_ajax.addProviderToPractice'), data=assocID) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['err'], _('A server error has occurred.')) #valid assoc id to_user = create_user( 'p2', 'lin2', 'xing2', 'demo', '', '', '', '', ) provider = Provider(username='******', first_name='first', last_name="last", email='*****@*****.**', user=self.user, office_lat=0.0, office_longit=0.0) provider.save() pend = Pending_Association(from_user=self.user, to_user=to_user, practice_location=self.practice, created_time=datetime.datetime.now()) pend.save() assocID = {'assoc_id': pend.id} response = self.client.post( reverse('MHLogin.MHLPractices.views_ajax.addProviderToPractice'), data=assocID) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg, 'ok') self.assertEqual( Log_Association.objects.get(association_id=pend.id).action, 'ACC') self.assertEqual(Pending_Association.objects.count(), 0) self.assertEqual( self.practice in Provider.objects.get(pk=provider.pk).practices.all(), True) mems = CallGroupMember.objects.filter(call_group=self.call_group) self.assertEqual(len(mems), 1)
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 test_practice_profile_edit_staff(self): staff = OfficeStaff(user=self.user) staff.current_practice = self.practice staff.save() staff.practices.add(self.practice) staff.save() response = self.client.post( reverse('MHLogin.MHLPractices.views.practice_profile_edit')) self.assertEqual(response.status_code, 403)
def test_getPrintableSchedule(self): #not a staff login and call this method #a staff login staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views.getPrintableSchedule')) self.assertEqual(response.status_code, 403)
def test_rejectAssociation(self): #user is a manager staff = OfficeStaff(user=self.user) staff.current_practice = self.practice staff.save() staff.practices.add(self.practice) manager = Office_Manager(user=staff, practice=self.practice, manager_role=2) manager.save() #invalid assoc id assocID = {'assoc_id': 'a'} response = self.client.post( reverse('MHLogin.MHLPractices.views_ajax.rejectAssociation'), data=assocID) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual( msg['err'], _('The data is error. Please refresh the page again.')) #valid assoc id to_user = create_user( 'p2', 'lin2', 'xing2', 'demo', '', '', '', '', ) provider = Provider(username='******', first_name='first', last_name="last", email='*****@*****.**', user=self.user, office_lat=0.0, office_longit=0.0) provider.save() pend = Pending_Association(from_user=self.user, to_user=to_user, practice_location=self.practice, created_time=datetime.datetime.now()) pend.save() assocID = {'assoc_id': pend.id} response = self.client.post( reverse('MHLogin.MHLPractices.views_ajax.rejectAssociation'), data=assocID) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg, 'OK') self.assertEqual( Log_Association.objects.get(association_id=pend.id).action, 'REJ') self.assertEqual(Pending_Association.objects.count(), 0)
def test_getMembers(self): staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() #0 member found response = self.client.post( reverse('MHLogin.MHLCallGroups.views_multicallgroup.getMembers', args=( self.practice.id, self.call_group.id, ))) self.assertEqual(response.status_code, 200) #1 member found provider = Provider(username='******', first_name='tes', last_name="meister", email='*****@*****.**', office_lat=0.0, office_longit=0.0) provider.save() member = CallGroupMember(call_group=self.call_group, member=provider, alt_provider=1) member.save() response = self.client.post( reverse('MHLogin.MHLCallGroups.views_multicallgroup.getMembers', args=( self.practice.id, self.call_group.id, ))) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(len(msg), 1) self.assertEqual(msg[0][0], provider.id) #403 call_group2 = CallGroup(description='test2', team='team') call_group2.save() response = self.client.post( reverse('MHLogin.MHLCallGroups.views_multicallgroup.getMembers', args=( self.practice.id, call_group2.id, ))) self.assertEqual(response.status_code, 403)
def test_getPrintableSchedule(self): #not a staff login and call this method #a staff login staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() response = self.client.post( reverse( 'MHLogin.MHLCallGroups.Scheduler.views.getPrintableSchedule')) self.assertEqual(response.status_code, 403)
def test_practice_staff(self): request = generateHttpRequest() staff = OfficeStaff(user=request.user) staff.save() assn = SmartPhoneAssn.all_objects.get( device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 101 assn.save(request) #staff and has no current practice result = practice_staff(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 0) organization_type = create_org_type() practice = ct_practice('test', organization_type) staff.current_practice = practice #staff has current practice but has 0 staff find result = practice_staff(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 0) #staff has current practice but has 1 staff find staff.current_practice = practice staff.save() staff.practices.add(practice) manager = Office_Manager(user=staff, practice=practice, manager_role=2) manager.save() result = practice_staff(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 1) #return_python == True result = practice_staff(request, True) msg = result['data']['users'] self.assertEqual(len(msg), 1)
def test_rulesCheck(self): staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() provider = Provider(username='******', first_name='tes', last_name="meister", email='*****@*****.**', office_lat=0.0, office_longit=0.0) provider.save() checkString = 'Ca69J2X6l8' #init a schecule event startDate = datetime.datetime.now() + datetime.timedelta(days=2) endDate = datetime.datetime.now() + datetime.timedelta(days=3) event = EventEntry(creator=self.user, oncallPerson=provider, callGroup=self.call_group, startDate=startDate, endDate=endDate, title='test event', oncallLevel='0', eventStatus=1, checkString=checkString) event.save() #get method response = self.client.get( reverse('MHLogin.MHLCallGroups.Scheduler.views.rulesCheck', args=(self.call_group.id, ))) self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'DateEntry.html') #post method data = { 'fromDate': '2012-12-10 12:00:00', 'toDate': '2012-12-14 12:00:00' } response = self.client.post(reverse( 'MHLogin.MHLCallGroups.Scheduler.views.rulesCheck', args=(self.call_group.id, )), data=data) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg[0].find('warning hole in coverage '), 0)
def test_practice_staff(self): request = generateHttpRequest() staff = OfficeStaff(user=request.user) staff.save() assn = SmartPhoneAssn.all_objects.get(device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 101 assn.save(request) #staff and has no current practice result = practice_staff(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 0) organization_type = create_org_type() practice = ct_practice('test', organization_type) staff.current_practice = practice #staff has current practice but has 0 staff find result = practice_staff(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 0) #staff has current practice but has 1 staff find staff.current_practice = practice staff.save() staff.practices.add(practice) manager = Office_Manager(user=staff, practice=practice, manager_role=2) manager.save() result = practice_staff(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 1) #return_python == True result = practice_staff(request, True) msg = result['data']['users'] self.assertEqual(len(msg), 1)
def test_staffHome(self): staff = OfficeStaff(user=self.user) staff.current_practice = self.practice staff.save() staff.practices.add(self.practice) manager = Office_Manager(user=staff, practice=self.practice, manager_role=2) manager.save() response = self.client.post( reverse('MHLogin.MHLPractices.views.staffHome')) self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'Staff/staffHome.html')
def setUp(self): clean_db_datas() self.temp_CALL_ENABLE = settings.CALL_ENABLE self.temp_SEND_MAXIMUM_PER_DAY = settings.SEND_MAXIMUM_PER_DAY self.temp_SEND_CODE_WAITING_TIME = settings.SEND_CODE_WAITING_TIME self.temp_FAIL_VALIDATE_MAXIMUM_PER_HOUR = settings.FAIL_VALIDATE_MAXIMUM_PER_HOUR self.temp_VALIDATE_LOCK_TIMEE = settings.VALIDATE_LOCK_TIME settings.SEND_MAXIMUM_PER_DAY = 5 settings.SEND_CODE_WAITING_TIME = 2 settings.FAIL_VALIDATE_MAXIMUM_PER_HOUR = 3 settings.VALIDATE_LOCK_TIME = 2 self.provider = create_user(get_random_username(), "yang", "peng", "demo", uklass=Provider) self.provider.mobile_phone = '9563322588' self.provider.mobile_confirmed = True self.provider.email = '*****@*****.**' self.provider.email_confirmed = True self.provider.save() self.organization = create_organization() self.user = create_user(get_random_username(), "yang", "peng", "demo") staff = OfficeStaff() staff.user = self.user staff.pager = '9985622456' staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = self.organization staff.save() self.staff = staff self.user_bro = create_user(get_random_username(), "yang", "peng", "demo") self.broker = Broker() self.broker.pager = '9985622456' self.broker.user = self.user_bro self.broker.office_lat = 0.0 self.broker.office_longit = 0.0 self.broker.save() self.user = create_user(get_random_username(), "yang", "peng", "demo") self.user.mobile_phone = '9563322488' self.user.mobile_confirmed = True self.user.email_confirmed = True self.user.save()
def test_practice_profile_edit_manager(self): staff = OfficeStaff(user=self.user) staff.current_practice = self.practice staff.save() staff.practices.add(self.practice) manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() response = self.client.get( reverse('MHLogin.MHLPractices.views.practice_profile_edit')) self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'Profile/practice_profile_edit.html')
def test_pratice_info(self): self.client.post('/login/', {'username': self.user.username, 'password': '******'}) staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() response = self.client.get(reverse('MHLogin.DoctorCom.views.practice_info')) self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'MHLUsers/practice_info.html') self.client.logout()
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_getViewInfo(self): staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() #post method response = self.client.post( reverse('MHLogin.MHLCallGroups.Scheduler.views.getViewInfo', args=(self.call_group.id, ))) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['view'], '') #get method without session response = self.client.get( reverse('MHLogin.MHLCallGroups.Scheduler.views.getViewInfo', args=(self.call_group.id, ))) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['view'], '') #403 call_group2 = CallGroup(description='test2', team='team') call_group2.save() response = self.client.get( reverse('MHLogin.MHLCallGroups.Scheduler.views.getViewInfo', args=(call_group2.id, ))) self.assertEqual(response.status_code, 403) #get method with session---TODO view = '{"name":"agendaWeek","start":"2012-12-16 00:00:00","end":"2012-12-23 00:00:00"}' self.client.session[SessionHelper.SCHEDULE_LASTVIEW] = view self.client.session.save() response = self.client.get( reverse('MHLogin.MHLCallGroups.Scheduler.views.getViewInfo', args=(self.call_group.id, ))) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['view'], '')
def test_can_user_manage_org_module(self): user = create_user(get_random_username(),'yang','peng','demo') admin = Administrator(user=user) self.assertTrue(can_user_manage_org_module(admin.user.id)) user1 = create_user(get_random_username(),'yang','peng','demo') staff = OfficeStaff() staff.user = user1 staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = self.organization staff.save() staff.practices.add(self.organization) self.assertFalse(can_user_manage_org_module(staff.user.id)["can_manage_org"]) Office_Manager.objects.create(user=staff, practice=self.organization, manager_role=1) self.assertTrue(can_user_manage_org_module(staff.user.id)["can_manage_org"])
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 test_practice_main_view(self): #403 # response = self.client.post(reverse('MHLogin.MHLPractices.views.practice_main_view')) # self.assertEqual(response.status_code, 403) staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) #staff no current practice response = self.client.post( reverse('MHLogin.MHLPractices.views.practice_main_view')) self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'dashboard_office_staff.html') #staff and current practice staff.current_practice = self.practice staff.save() response = self.client.post( reverse('MHLogin.MHLPractices.views.practice_main_view')) self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'dashboard_office_staff.html') #manger manager = Office_Manager(user=staff, practice=self.practice, manager_role=2) manager.save() response = self.client.post( reverse('MHLogin.MHLPractices.views.practice_main_view')) self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'dashboard_office_manager.html') #manager and current site site = Site(name='test site', address1='test address', lat='0.4', longit='4.1') staff.current_site = site staff.save() response = self.client.post( reverse('MHLogin.MHLPractices.views.practice_main_view')) self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'dashboard_office_manager.html')
def test_addPrvoderIn(self): prov = Provider(username='******', first_name='tes', last_name="meister", email='*****@*****.**', office_lat=0.0, office_longit=0.0) prov.save() staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() data = {'to_user': prov.id} response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.addPrvoderIn', args=(self.practice.id, self.group.id)), data=data) msg = json.loads(response.content) self.assertEqual(response.status_code, 200) self.assertEqual(0, msg['err'].find('Congratulations'))
def test_get_orgs_I_can_manage_user(self): user = create_user('yangpeng','yang','peng','demo') org_setting = OrganizationSetting() org_setting.save() org_type = OrganizationType(name="Test Org Type", \ organization_setting=org_setting, is_public=True) org_type.save() staff = OfficeStaff() staff.user = user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = self.organization staff.save() staff.practices.add(self.organization) mgr = Office_Manager(user=staff, practice=self.organization, manager_role=2) mgr.save() get_orgs_I_can_manage(mgr.id,parent_id=self.parent_organization.id,\ org_type_id=org_type.id,clear_no_type_org=True)
def setUp(self): clean_db_datas() self.temp_CALL_ENABLE = settings.CALL_ENABLE self.temp_SEND_MAXIMUM_PER_DAY = settings.SEND_MAXIMUM_PER_DAY self.temp_SEND_CODE_WAITING_TIME = settings.SEND_CODE_WAITING_TIME self.temp_FAIL_VALIDATE_MAXIMUM_PER_HOUR = settings.FAIL_VALIDATE_MAXIMUM_PER_HOUR self.temp_VALIDATE_LOCK_TIMEE = settings.VALIDATE_LOCK_TIME settings.SEND_MAXIMUM_PER_DAY = 5 settings.SEND_CODE_WAITING_TIME = 2 settings.FAIL_VALIDATE_MAXIMUM_PER_HOUR = 3 settings.VALIDATE_LOCK_TIME = 2 self.provider = create_user(get_random_username(), "yang", "peng", "demo",uklass=Provider) self.provider.mobile_phone = '9563322588' self.provider.mobile_confirmed = True self.provider.email = '*****@*****.**' self.provider.email_confirmed =True self.provider.save() self.organization = create_organization() self.user = create_user(get_random_username(), "yang", "peng", "demo") staff = OfficeStaff() staff.user = self.user staff.pager = '9985622456' staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = self.organization staff.save() self.staff = staff self.user_bro = create_user(get_random_username(), "yang", "peng", "demo") self.broker = Broker() self.broker.pager = '9985622456' self.broker.user = self.user_bro self.broker.office_lat = 0.0 self.broker.office_longit = 0.0 self.broker.save() self.user = create_user(get_random_username(), "yang", "peng", "demo") self.user.mobile_phone = '9563322488' self.user.mobile_confirmed = True self.user.email_confirmed =True self.user.save()
def test_rulesCheck(self): staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() provider = Provider(username='******', first_name='tes', last_name="meister", email='*****@*****.**', office_lat=0.0, office_longit=0.0) provider.save() checkString = 'Ca69J2X6l8' #init a schecule event timenow = datetime.datetime.now() startDate = timenow + datetime.timedelta(days=2) endDate = timenow + datetime.timedelta(days=3) event = EventEntry(creator=self.user, oncallPerson=provider, callGroup=self.call_group, startDate=startDate, endDate=endDate, title='test event', oncallLevel='0', eventStatus=1, checkString=checkString ) event.save() #get method response = self.client.get(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.rulesCheck', args=(self.practice.id, self.call_group.id))) self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'DateEntry.html') #post method data = {'fromDate': '2012-12-10 12:00:00', 'toDate': '2012-12-14 12:00:00'} response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.rulesCheck', args=(self.practice.id, self.call_group.id)), data=data) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) start = datetime.datetime.now() end = start + datetime.timedelta(days=14) self.assertTrue('warning hole in coverage' in msg[0])
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_user_info(self): request = generateHttpRequest() #not find any provider match result = user_info(request, -123) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'PF001') #provider call this method result = user_info(request, request.user.id) self.assertEqual(result.status_code, 200) #physician call this method phy = Physician(user=request.provider) phy.save() result = user_info(request, request.user.id) self.assertEqual(result.status_code, 200) #staff call this method assn = SmartPhoneAssn.all_objects.get( device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 101 assn.save(request) staff = OfficeStaff(user=request.user) staff.save() result = user_info(request, request.user.id) self.assertEqual(result.status_code, 200) #staff with current practice organization_type = create_org_type() practice = ct_practice('name', organization_type) staff.current_practice = practice staff.save() result = user_info(request, request.user.id) self.assertEqual(result.status_code, 200) #manager call this method manager = Office_Manager(user=staff, practice=practice, manager_role=2) manager.save() result = user_info(request, request.user.id) self.assertEqual(result.status_code, 200)
def test_cancelExistInvitation(self): #user is a manager staff = OfficeStaff(user=self.user) staff.current_practice = self.practice staff.save() staff.practices.add(self.practice) manager = Office_Manager(user=staff, practice=self.practice, manager_role=2) manager.save() #get method response = self.client.get( reverse('MHLogin.MHLPractices.views_ajax.cancelExistInvitation')) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg[1], _('A server error has occured.')) email = '*****@*****.**' user_type = 1 invite = Invitation(sender=self.user, recipient=email, assignPractice=self.practice, userType=user_type) invite.save() #there is no invite find data = {'email': '*****@*****.**', 'type': '0'} response = self.client.post( reverse('MHLogin.MHLPractices.views_ajax.cancelExistInvitation'), data=data) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg[1], _('A server error has occured.')) data = {'email': email, 'type': user_type} response = self.client.post( reverse('MHLogin.MHLPractices.views_ajax.cancelExistInvitation'), data=data) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg[0], 'ok') self.assertEqual(Invitation.objects.count(), 0)
def test_addAssociation(self): #user is a manager staff = OfficeStaff(user=self.user) staff.current_practice = self.practice staff.save() staff.practices.add(self.practice) manager = Office_Manager(user=staff, practice=self.practice, manager_role=2) manager.save() #provider id user = create_user( 'p', 'lin2', 'xing2', 'demo', '', '', '', '', ) provider = Provider(username='******', first_name='first', last_name="last", email='*****@*****.**', user=user, office_lat=0.0, office_longit=0.0) provider.save() data = {'prov_id': provider.user.id, 'userType': 1} response = self.client.post( reverse('MHLogin.MHLPractices.views_ajax.addAssociation'), data) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg[0], 'ok') self.assertEqual(Pending_Association.objects.count(), 1) self.assertEqual( Pending_Association.objects.get(to_user=provider.user).from_user, self.user) self.assertEqual(Log_Association.objects.count(), 1)
def test_user_info(self): request = generateHttpRequest() #not find any provider match result = user_info(request, -123) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'PF001') #provider call this method result = user_info(request, request.user.id) self.assertEqual(result.status_code, 200) #physician call this method phy = Physician(user=request.provider) phy.save() result = user_info(request, request.user.id) self.assertEqual(result.status_code, 200) #staff call this method assn = SmartPhoneAssn.all_objects.get(device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 101 assn.save(request) staff = OfficeStaff(user=request.user) staff.save() result = user_info(request, request.user.id) self.assertEqual(result.status_code, 200) #staff with current practice organization_type = create_org_type() practice = ct_practice('name', organization_type) staff.current_practice = practice staff.save() result = user_info(request, request.user.id) self.assertEqual(result.status_code, 200) #manager call this method manager = Office_Manager(user=staff, practice=practice, manager_role=2) manager.save() result = user_info(request, request.user.id) self.assertEqual(result.status_code, 200)
def test_get_orgs_I_can_manage_user(self): user = create_user('yangpeng', 'yang', 'peng', 'demo') org_setting = OrganizationSetting() org_setting.save() org_type = OrganizationType(name="Test Org Type", \ organization_setting=org_setting, is_public=True) org_type.save() staff = OfficeStaff() staff.user = user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = self.organization staff.save() staff.practices.add(self.organization) mgr = Office_Manager(user=staff, practice=self.organization, manager_role=2) mgr.save() get_orgs_I_can_manage(mgr.id,parent_id=self.parent_organization.id,\ org_type_id=org_type.id,clear_no_type_org=True)
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 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 setUp(self): clean_db_datas() self.user = create_user(get_random_username(),'yang','peng','demo') self.organization = create_organization() self.parent_organization = create_parent_organization() self.organization.save_parent_org(parent_org=self.parent_organization) staff = OfficeStaff() staff.user = self.user staff.office_lat = 0.0 staff.office_longit = 0.0 staff.current_practice = self.organization staff.save() staff.practices.add(self.organization) mgr = Office_Manager(user=staff, practice=self.organization, manager_role=2) mgr.save() self.provider = create_user(get_random_username(), "doc", "holiday", "demo", uklass=Provider) self.provider.current_practice = self.parent_organization self.provider.save() self.provider.practices.add(self.parent_organization)
def test_saveViewInfo(self): staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() #get method response = self.client.get( reverse('MHLogin.MHLCallGroups.Scheduler.views.saveViewInfo', args=(self.call_group.id, ))) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['view'], '') #403 call_group2 = CallGroup(description='test2', team='team') call_group2.save() response = self.client.post( reverse('MHLogin.MHLCallGroups.Scheduler.views.saveViewInfo', args=(call_group2.id, ))) self.assertEqual(response.status_code, 403) #post method without session view = { 'view': '{"name":"month", "start":"2012-12-01 00:00:00", "end":"2013-01-01 00:00:00"}' } response = self.client.post(reverse( 'MHLogin.MHLCallGroups.Scheduler.views.saveViewInfo', args=(self.call_group.id, )), data=view) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['view'], view['view'])
def test_getViewInfo(self): staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() #post method response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.getViewInfo', args=(self.practice.id, self.call_group.id))) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['view'], '') #get method without session response = self.client.get(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.getViewInfo', args=(self.practice.id, self.call_group.id))) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['view'], '') #403 call_group2 = CallGroup(description='test2', team='team') call_group2.save() response = self.client.get(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.getViewInfo', args=(self.practice.id, call_group2.id))) self.assertEqual(response.status_code, 403) #get method with session---TODO view = '{"name":"agendaWeek","start":"2012-12-16 00:00:00","end":"2012-12-23 00:00:00"}' self.client.session[SessionHelper.SCHEDULE_LASTVIEW] = view self.client.session.save() response = self.client.get(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.getViewInfo', args=(self.practice.id, self.call_group.id))) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['view'], '')
def test_addProviderInGroup(self): staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() provider1 = Provider(username='******', first_name='tes provider1', last_name="meister", email='*****@*****.**', office_lat=0.0, office_longit=0.0) provider1.save() data1 = {'to_user': provider1.id} msg1 = '''This user is not in your practice now. We have sent an invitation to him/her for confirm to join this call group. (He/She will not join your practice by accept this invitation.)''' #provider1 not in practice response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.addProviderInGroup', args=(self.practice.id, self.group.id)), data=data1) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['err'], msg1) #add provider2 in practice in this case provider2 = Provider(username='******', first_name='tes provider2', last_name="meister", email='*****@*****.**', office_lat=0.0, office_longit=0.0) provider2.save() provider2.practices.add(self.practice) provider2.current_practice = self.practice provider2.save() data2 = {'to_user': provider2.id} msg2 = 'Congratulations! We have added this member to call group. You can:' response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.addProviderInGroup', args=(self.practice.id, self.group.id)), data=data2) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['err'], msg2)
def test_removeProvider(self): #user is a manager staff = OfficeStaff(user=self.user) staff.current_practice = self.practice staff.save() staff.practices.add(self.practice) manager = Office_Manager(user=staff, practice=self.practice, manager_role=2) manager.save() #practice has no call group response = self.client.post( reverse('MHLogin.MHLPractices.views_ajax.removeProvider')) self.assertEqual(response.status_code, 200) #practice has call group self.practice.call_group = self.call_group self.practice.save() response = self.client.post( reverse('MHLogin.MHLPractices.views_ajax.removeProvider')) self.assertEqual(response.status_code, 200)
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 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_get_dcom_number(self): request = generateHttpRequest() staff = OfficeStaff(user=request.user) staff.save() #a provider call this method result = get_dcom_number(request) self.assertEqual(result.status_code, 200) #a staff or manager call this method assn = SmartPhoneAssn.all_objects.get(device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 101 assn.save(request) result = get_dcom_number(request) self.assertEqual(result.status_code, 200) #has current_practice organization_type = create_org_type() practice = ct_practice('name', organization_type) staff.current_practice = practice staff.save() result = get_dcom_number(request) self.assertEqual(result.status_code, 200)
def setUpClass(cls): clean_db_datas() cls.user = create_user('practicemgr1', 'lin', 'xing', 'demo') cls.user1 = create_user('practicemgr11', '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) usertype = 1 cls.usertype = usertype code = '12345' email = '*****@*****.**' cls.invite = Invitation(code=code, sender=cls.user1, recipient=email, userType=usertype, assignPractice=cls.practice) cls.invite.save() mgr = Office_Manager(user=staff, practice=practice, manager_role=2) mgr.save()
def generate_users(request): if (not settings.DEBUG): return HttpResponseRedirect(reverse('MHLogin.Administration.views.home')) context = get_context(request) if (request.method == 'GET'): context["form"] = GenerateUsersForm() return render_to_response('qa_tools/genereate_users.html', context) else: form = GenerateUsersForm(request.POST) if form.is_valid(): current_practice = form.cleaned_data["practices"] user_type = int(form.cleaned_data["user_types"]) number = int(form.cleaned_data["number"]) user_name_start = form.cleaned_data["user_name_start"] generate_user = None for i in range(number): username = "******" % (user_name_start, i) first_name = "%s_f_%d" % (user_name_start, i) last_name = "%s_f_%d" % (user_name_start, i) email = "*****@*****.**" % (username) password = "******" if USER_TYPE_DOCTOR == user_type \ or USER_TYPE_NPPA == user_type \ or USER_TYPE_MEDICAL_STUDENT == user_type: provider = Provider( username=username, first_name=first_name, last_name=last_name, email=email, email_confirmed=True, lat=current_practice.practice_lat, longit=current_practice.practice_longit, address1=current_practice.practice_address1, address2=current_practice.practice_address2, city=current_practice.practice_city, state=current_practice.practice_state, zip=current_practice.practice_zip, current_practice=current_practice, is_active=1, office_lat=current_practice.practice_lat, office_longit=current_practice.practice_longit, mdcom_phone="8004664411" ) provider.save() provider.set_password(password) provider.practices.add(current_practice) provider.user_id = provider.pk provider.save() if USER_TYPE_DOCTOR == user_type: #Physician ph = Physician(user=provider) ph.save() elif USER_TYPE_NPPA == user_type: #NP/PA/Midwife np = NP_PA(user=provider) np.save() elif USER_TYPE_MEDICAL_STUDENT == user_type: ph = Physician(user=provider) ph.save() create_default_keys(provider.user, password) # Generating the user's voicemail box configuration config = VMBox_Config(pin='') config.owner = provider config.save() generate_user = provider elif USER_TYPE_OFFICE_MANAGER == user_type \ or USER_TYPE_NURSE == user_type \ or USER_TYPE_DIETICIAN == user_type: mhluser = MHLUser( username = username, first_name = first_name, last_name = last_name, email = email, email_confirmed = True, is_active = 1, address1 = current_practice.practice_address1, address2 = current_practice.practice_address2, city = current_practice.practice_city, state = current_practice.practice_state, zip = current_practice.practice_zip, lat = current_practice.practice_lat, longit = current_practice.practice_longit ) mhluser.save() mhluser.set_password(password) staff = OfficeStaff( user=mhluser, current_practice=current_practice ) staff.user = mhluser staff.current_practice = current_practice staff.save() staff.practices.add(current_practice) staff.save() if USER_TYPE_OFFICE_MANAGER == user_type: manager = Office_Manager(user=staff, practice=current_practice) manager.save() if USER_TYPE_NURSE == user_type: nurse = Nurse(user=staff) nurse.save() elif USER_TYPE_DIETICIAN == user_type: dietician = Dietician(user=staff) dietician.save() generate_user = mhluser log_str = 'Generate user %d: for %s' % (i, str(generate_user)) logger.debug(log_str) print log_str return render_to_response('qa_tools/genereate_users_success.html', context) else: context["form"] = form return render_to_response('qa_tools/genereate_users.html', context)
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
def test_bulkUpdateEvents(self): staff = OfficeStaff(user=self.user) staff.save() staff.practices.add(self.practice) staff.current_practice = self.practice staff.save() manager = Office_Manager(user=staff, practice=self.practice, manager_role=1) manager.save() provider = Provider(username='******', first_name='tes', last_name="meister", email='*****@*****.**', office_lat=0.0, office_longit=0.0) provider.save() checkString = 'Ca69J2X6l8' #init a schecule event event = EventEntry(creator=self.user, oncallPerson=provider, callGroup=self.call_group, startDate=datetime.datetime(2012, 12, 1), endDate=datetime.datetime(2012, 12, 30), title='test event', oncallLevel='0', eventStatus=1, checkString=checkString ) event.save() #get method response = self.client.get(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.bulkUpdateEvents', args=(self.practice.id, self.call_group.id))) self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, "bulkOperation.html") #post method #not save new event,provider is not in the call group newEventInvalidData = {'data': '[{"pk":' + str(event.pk) + ',"model":"Scheduler.evententry","fields":{"oncallPerson":"' + str(provider.id) + '","eventType":"0","startDate":"2012-12-19 08:00:00","endDate":"2012-12-20 08:00:00","checkString":"' + checkString + '"}}]', 'view': '{"name":"month","start":"2012-12-01 00:00:00","end":"2013-01-01 00:00:00"}'} response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.bulkUpdateEvents', args=(self.practice.id, self.call_group.id)), data=newEventInvalidData) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['error'][0].find(str(event.pk) + ', error updating object ' + checkString + ' obj '), 0) #save new event, provider is in the call group provider2 = Provider(username='******', first_name='tes', last_name="meister", email='*****@*****.**', office_lat=0.0, office_longit=0.0) provider2.save() cgm = CallGroupMember(call_group=self.call_group, member=provider2, alt_provider=1) cgm.save() checkString = 'Ca69J2X6l8' newEventInvalidData = {'data': '[{"pk":' + str(event.pk) + ',"model":"Scheduler.evententry","fields":{"oncallPerson":"' + str(provider2.id) + '","eventType":"0","startDate":"2012-12-19 08:00:00",\ "endDate":"2012-12-20 08:00:00","checkString":"' + checkString + '"}}]', 'view': '{"name":"month","start":"2012-12-01 00:00:00","end":"2013-01-01 00:00:00"}'} response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.bulkUpdateEvents', args=(self.practice.id, self.call_group.id)), data=newEventInvalidData) self.assertEqual(response.status_code, 200) self.assertEqual(EventEntry.objects.count(), 1) #403 call_group2 = CallGroup(description='test2', team='team') call_group2.save() response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.bulkUpdateEvents', args=(self.practice.id, call_group2.id)), data=newEventInvalidData) self.assertEqual(response.status_code, 403) #invlid checkstring event update checkString = 'xxxxxxs' newEventInvalidData = {'data': '[{"pk":' + str(event.pk) + ',"model":"Scheduler.evententry","fields":{"oncallPerson":"' + str(provider2.id) + '","eventType":"0","startDate":"2012-12-19 08:00:00","endDate":\ "2012-12-20 08:00:00","checkString":"' + checkString + '"}}]', 'view': '{"name":"month","start":"2012-12-01 00:00:00","end":"2013-01-01 00:00:00"}'} response = self.client.post(reverse('MHLogin.MHLCallGroups.Scheduler.views_multicallgroup.bulkUpdateEvents', args=(self.practice.id, self.call_group.id)), data=newEventInvalidData) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg['error'][0].find(str(event.pk) + ', update failed - invalid checkString xxxxxxs obj'), 0)
def test_sendNewProviderEmail(self): #user is a manager staff = OfficeStaff(user=self.user) staff.current_practice = self.practice staff.save() staff.practices.add(self.practice) #office staff call this method #get method response = self.client.get( reverse('MHLogin.MHLPractices.views_ajax.sendNewProviderEmail')) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual( msg['err'], _('A server error has occurred when you send a email. ' 'Please refresh page again.')) #invalid data data = {'userType': '33', 'msg': 'abc', 'recipient': '*****@*****.**'} response = self.client.post( reverse('MHLogin.MHLPractices.views_ajax.sendNewProviderEmail'), data=data) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual( msg['err']['userType'][0], 'Select a valid choice. 33 is not one ' 'of the available choices.') email = '*****@*****.**' provider1 = Provider(username='******', first_name='tes', last_name="meister", email=email, office_lat=0.0, office_longit=0.0) provider1.save() #invalid email data = {'userType': 1, 'msg': 'abc', 'recipient': email} response = self.client.post( reverse('MHLogin.MHLPractices.views_ajax.sendNewProviderEmail'), data=data) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual( msg['err'], _('This email address is already associated with a DoctorCom account.' )) #valid email and send a mail email = '*****@*****.**' data = {'userType': 2, 'msg': 'abc', 'recipient': email} response = self.client.post( reverse('MHLogin.MHLPractices.views_ajax.sendNewProviderEmail'), data=data) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg, 'ok') self.assertEqual(Invitation.objects.count(), 1) self.assertEqual(Invitation.objects.get(recipient=email).userType, 1) manager = Office_Manager(user=staff, practice=self.practice, manager_role=2) manager.save() #valid email and send a mail manager login email = '*****@*****.**' data = {'userType': 2, 'msg': 'abc', 'recipient': email} response = self.client.post( reverse('MHLogin.MHLPractices.views_ajax.sendNewProviderEmail'), data=data) self.assertEqual(response.status_code, 200) msg = json.loads(response.content) self.assertEqual(msg, 'ok') self.assertEqual(Invitation.objects.count(), 2) self.assertEqual(Invitation.objects.get(recipient=email).userType, 1)