def test_community_providers(self): request = generateHttpRequest() #find 0 provider result = community_providers(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 0) #find 1 provider phy = Physician(user=request.provider) phy.save() result = community_providers(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 1) organization_type = create_org_type() practice = ct_practice('name', organization_type) assn = SmartPhoneAssn.all_objects.get(device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 100 assn.save(request) staff = OfficeStaff(user=request.user, current_practice=practice) staff.save() result = community_providers(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 1)
def test_community_providers(self): request = generateHttpRequest() #find 0 provider result = community_providers(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 0) #find 1 provider phy = Physician(user=request.provider) phy.save() result = community_providers(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 1) organization_type = create_org_type() practice = ct_practice('name', organization_type) assn = SmartPhoneAssn.all_objects.get( device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 100 assn.save(request) staff = OfficeStaff(user=request.user, current_practice=practice) staff.save() result = community_providers(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 1)
def test_practice_info(self): organization_type = create_org_type() practice = ct_practice('name', organization_type) request = generateHttpRequest() #a provider login result = practice_info(request, practice.id) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(msg['data']['id'], practice.id) #a staff login 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) #invalid practice result = practice_info(request, 0) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'PF003') #valid practice result = practice_info(request, practice.id) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(msg['data']['id'], practice.id)
def test_practice_providers(self): request = generateHttpRequest() #provider has no current practice result = practice_providers(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('name', organization_type) request.provider.current_practice = practice #provider has current practice but find 0 result = practice_providers(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 0) #provider has current practice and find 1 request.provider.practices.add(practice) request.provider.clinical_clerk = True request.provider.save() phy = Physician(user=request.provider) phy.save() result = practice_providers(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 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 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_practice_info(self): organization_type = create_org_type() practice = ct_practice('name', organization_type) request = generateHttpRequest() #a provider login result = practice_info(request, practice.id) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(msg['data']['id'], practice.id) #a staff login 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) #invalid practice result = practice_info(request, 0) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'PF003') #valid practice result = practice_info(request, practice.id) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(msg['data']['id'], practice.id)
def test_practice_providers(self): request = generateHttpRequest() #provider has no current practice result = practice_providers(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('name', organization_type) request.provider.current_practice = practice #provider has current practice but find 0 result = practice_providers(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 0) #provider has current practice and find 1 request.provider.practices.add(practice) request.provider.clinical_clerk = True request.provider.save() phy = Physician(user=request.provider) phy.save() result = practice_providers(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['users']), 1)
def setUpClass(cls): clean_db_datas() organization_type = create_org_type() practice = ct_practice('name', organization_type) 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 = ct_practice('name', organization_type) cls.practice = practice user = create_user('practicemgr1', 'lin', 'xing', 'demo') cls.user = user
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_practice_mgmt(self, start_thread): request = generateHttpRequest() #get method and provider request.method = 'GET' result = practice_mgmt(request) self.assertEqual(result.status_code, 200) #get method and staff staff = OfficeStaff(user=request.user) staff.save() assn = SmartPhoneAssn.all_objects.get(device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 100 assn.save(request) result = practice_mgmt(request) self.assertEqual(result.status_code, 200) #post method and no practice request.method = 'POST' result = practice_mgmt(request) self.assertEqual(result.status_code, 400) #post method and have practice but not manager organization_type = create_org_type() practice = ct_practice('name', organization_type) request.POST['current_practice'] = practice.id result = practice_mgmt(request) self.assertEqual(result.status_code, 200) #post method and staff can not change current practice assn = SmartPhoneAssn.all_objects.get(device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 101 assn.save(request) result = practice_mgmt(request) self.assertEqual(result.status_code, 403) #post method and can change current practice assn = SmartPhoneAssn.all_objects.get(device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 1 assn.save(request) request.provider.practices.add(practice) result = practice_mgmt(request) self.assertEqual(result.status_code, 200)
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_views_invites(self): request = generateHttpRequest() #an office staff login 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) result = list_invites(request) self.assertEqual(result.status_code, 403) #a provider login assn = SmartPhoneAssn.all_objects.get( device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 1 assn.save(request) #find 0 invitation result = list_invites(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['invitations']), 0) usertype = 1 #invite has assignPractice organization_type = create_org_type() practice = ct_practice('name', organization_type) code = '12345' email = '*****@*****.**' invite = Invitation(code=code, sender=request.user, recipient=email, userType=usertype, assignPractice=practice) invite.save() result = list_invites(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['invitations']), 1)
def test_acceptPracticeInvitation(self, start_thread): request = generateHttpRequest() #404 pending_id = 0 try: acceptPracticeInvitation(request, pending_id) except Http404: self.assertRaises(Http404('No Pending_Organization matches the given query.')) #success accpet a organization_type = create_org_type() practice = ct_practice('name', organization_type) pend = Pending_Association(from_user=request.user, to_user=request.user, practice_location=practice, created_time=datetime.datetime.now()) pend.save() result = acceptPracticeInvitation(request, pend.pk) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(msg['data'], {})
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_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_acceptPracticeInvitation(self, start_thread): request = generateHttpRequest() #404 pending_id = 0 try: acceptPracticeInvitation(request, pending_id) except Http404: self.assertRaises( Http404('No Pending_Organization matches the given query.')) #success accpet a organization_type = create_org_type() practice = ct_practice('name', organization_type) pend = Pending_Association(from_user=request.user, to_user=request.user, practice_location=practice, created_time=datetime.datetime.now()) pend.save() result = acceptPracticeInvitation(request, pend.pk) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(msg['data'], {})
def test_views_invites(self): request = generateHttpRequest() #an office staff login 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) result = list_invites(request) self.assertEqual(result.status_code, 403) #a provider login assn = SmartPhoneAssn.all_objects.get(device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 1 assn.save(request) #find 0 invitation result = list_invites(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['invitations']), 0) usertype = 1 #invite has assignPractice organization_type = create_org_type() practice = ct_practice('name', organization_type) code = '12345' email = '*****@*****.**' invite = Invitation(code=code, sender=request.user, recipient=email, userType=usertype, assignPractice=practice) invite.save() result = list_invites(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(len(msg['data']['invitations']), 1)
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 test_call(self): phone = '80012312321' request = generateHttpRequest() #user has no mobile phone result = call(request) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'TE005') #user has mobile phone user = MHLUser.objects.get(pk=request.user.pk) user.mobile_phone = phone user.save() #invlid form data request.POST['number'] = '' request.POST['caller_number'] = '' result = call(request) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'GE031') #valid form data assn = SmartPhoneAssn.all_objects.get(device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 1 assn.save(request) request.POST['number'] = '8005550056' request.POST['caller_number'] = '8005550056' result = call(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(msg['warnings'], {}) #user id and is 0 user_id = 0 result = call(request, user_id=user_id) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'GE010') #user_id and is not 0 username = '******' user = create_user(username, 'abc', 'def', 'demo') user_id = user.pk result = call(request, user_id=user_id) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'TE005') #user id and user hase mobile phone user = MHLUser.objects.get(username=username) user.mobile_phone = '8569854741' user.save() result = call(request, user_id=user_id) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(msg['warnings'], {}) #practice_id is 0 practice_id = 0 result = call(request, practice_id=practice_id) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'GE010') #practice id is not 0 organization_type = create_org_type() practice = ct_practice('name', organization_type) result = call(request, practice_id=practice.pk) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'TE006') #number is in kwargs number = '8001247841' result = call(request, number=number) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(msg['warnings'], {})
def test_call(self): phone = '80012312321' request = generateHttpRequest() #user has no mobile phone result = call(request) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'TE005') #user has mobile phone user = MHLUser.objects.get(pk=request.user.pk) user.mobile_phone = phone user.save() #invlid form data request.POST['number'] = '' request.POST['caller_number'] = '' result = call(request) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'GE031') #valid form data assn = SmartPhoneAssn.all_objects.get( device_id=request.REQUEST['DCOM_DEVICE_ID']) assn.user_type = 1 assn.save(request) request.POST['number'] = '8005550056' request.POST['caller_number'] = '8005550056' result = call(request) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(msg['warnings'], {}) #user id and is 0 user_id = 0 result = call(request, user_id=user_id) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'GE010') #user_id and is not 0 username = '******' user = create_user(username, 'abc', 'def', 'demo') user_id = user.pk result = call(request, user_id=user_id) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'TE005') #user id and user hase mobile phone user = MHLUser.objects.get(username=username) user.mobile_phone = '8569854741' user.save() result = call(request, user_id=user_id) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(msg['warnings'], {}) #practice_id is 0 practice_id = 0 result = call(request, practice_id=practice_id) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'GE010') #practice id is not 0 organization_type = create_org_type() practice = ct_practice('name', organization_type) result = call(request, practice_id=practice.pk) self.assertEqual(result.status_code, 400) msg = json.loads(result.content) self.assertEqual(msg['errno'], 'TE006') #number is in kwargs number = '8001247841' result = call(request, number=number) self.assertEqual(result.status_code, 200) msg = json.loads(result.content) self.assertEqual(msg['warnings'], {})