Пример #1
0
    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)
Пример #2
0
	def test_sendCode(self):
		request = generateHttpRequest()

		#get method
		request.method = 'GET'
		result = sendCode(request)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE002')

		#post method
		request.method = 'POST'
		request.POST['recipient'] = ''
		request.POST['type'] = ''
		request.POST['init'] = ''
		result = sendCode(request)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE031')

		#user type is 1
		request.POST['recipient'] = '*****@*****.**'
		request.POST['type'] = '1'
		request.POST['init'] = True
		request.user.mobile_phone = '800123456'
		request.user.mobile_confirmed = True
		result = sendCode(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(len(msg), 3)
Пример #3
0
	def test_validate(self):
		request = generateHttpRequest()

		#get method
		request.method = 'GET'
		result = validate(request)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE002')

		#post method
		request.method = 'POST'
		request.POST['recipient'] = ''
		request.POST['type'] = ''
		request.POST['init'] = ''
		result = validate(request)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE031')

		request.method = 'POST'
		request.POST['recipient'] = '*****@*****.**'
		request.POST['type'] = '1'
		request.POST['init'] = True
		request.POST['code'] = 'test'
		result = validate(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(len(msg), 3)
Пример #4
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)
Пример #5
0
	def test_cancel_invite(self):
		invitation_id = 0
		email = '*****@*****.**'
		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 = cancel_invite(request, invitation_id)
		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)

		#404 not found invitation
		try:
			cancel_invite(request, invitation_id)
		except Http404:
			self.assertRaises(Http404())

		code = 'abcdefg'
		usertype = 1
		invite = Invitation(code=code, sender=request.user, recipient=email, 
			userType=usertype)
		invite.save()
		result = cancel_invite(request, invite.pk)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(msg['data'], {})
		self.assertEqual(Invitation.objects.count(), 0)
Пример #6
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)
Пример #7
0
	def testSendCodeLogic(self):
		test_twilio = CalledTest()
		utils.twilioSMS_unloggedSender = test_twilio
		test_mail = CalledTest()
		utils.send_mass_mail = test_mail 
		request = generateHttpRequest()
		data = {'recipient':self.user.mobile_phone,'type':1,'init':True}
		form = SendCodeForm(data)
		self.assertEqual(sendCodeLogic(form,self.user,request)['send_remain_count'],4)
		data['type']=2
		form = SendCodeForm(data)
		settings.CALL_ENABLE = True
		self.assertEqual(sendCodeLogic(form,self.user,request)['send_waiting_time'],\
						settings.SEND_CODE_WAITING_TIME*60)
		self.assertTrue(test_twilio.was_called)
		validate = Validation()
		validate.code = randomCode()
		validate.type = 1
		validate.applicant = self.user.id
		validate.recipient = self.user.mobile_phone
		validate.save()
		data = {'recipient':self.user.mobile_phone,'type':1,'init':True}
		form = SendCodeForm(data)
		self.assertEqual(sendCodeLogic(form,self.user,request)['send_remain_count'],3)
		constant_times = settings.SEND_MAXIMUM_PER_DAY
		for i in range(constant_times):
			validate = Validation()
			validate.code = randomCode()
			validate.type = 1
			validate.applicant = self.user.id
			validate.recipient = self.user.mobile_phone
			validate.save()
		self.assertEqual(sendCodeLogic(form,self.user,request)['send_remain_count'],0)
Пример #8
0
	def test_delete_message(self):
		request = generateHttpRequest()

		#not find message
		result = delete_message(request, '20fc43b89e97484aba6fc1870f026a2e')
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'IN003')

		#find message
		msg = Message(sender=request.user, sender_site=None, subject="pandas")
		msg.urgent = False
		msg.message_type = 'NM'
		msg.callback_number = '2561234561'
		msg.save()
		body = "i am indeed a talking panda. how are you?"
		msg_body = MessageBody(message=msg, body=body)
		msg_body.save()
		mbu = MessageBodyUserStatus(msg_body=msg_body, user=request.user)
		mbu.save()

		result = delete_message(request, msg.uuid)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(msg['data'], {})
Пример #9
0
    def test_site_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 has not current site
        result = site_staff(request)
        self.assertEqual(result.status_code, 200)

        current_site = Site(name='test site',
                            address1='test address',
                            lat=0.0,
                            longit=0.1)
        current_site.save()

        staff.current_site = current_site
        staff.save()

        #staff has current site
        result = site_staff(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(len(msg['data']['users']), 0)

        #return_python == true
        result = site_staff(request, True)
        msg = result['data']['users']
        self.assertEqual(len(msg), 0)
Пример #10
0
    def test_list_tasks(self):
        request = generateHttpRequest()

        #get method
        request.method = 'GET'
        result = list_tasks(request)
        self.assertEqual(result.status_code, 400)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE002')

        #post method
        request.method = 'POST'

        request.POST['done_from'] = ''
        request.POST['due_from_timestamp'] = ''
        request.POST['creation_from_timestamp'] = ''
        request.POST['done_to'] = ''
        request.POST['due_to_timestamp'] = ''
        request.POST['creation_to_timestamp'] = ''
        request.POST['count'] = ''
        request.POST['completed'] = ''

        result = list_tasks(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(msg['data']['query_count'], 0)
Пример #11
0
    def test_new_task(self):
        test = 'test note'
        request = generateHttpRequest()

        #get method
        request.method = 'GET'
        result = new_task(request)
        self.assertEqual(result.status_code, 400)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE002')

        #post method
        request.method = 'POST'

        #invalid form data
        request.POST['due'] = '23swasdf'
        request.POST['priority'] = 2
        request.POST['description'] = 'test'
        request.POST['note'] = test
        result = new_task(request)
        self.assertEqual(result.status_code, 400)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE031')

        #valid form data
        request.POST['due'] = '1358932953'
        request.POST['priority'] = 1
        result = new_task(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        fid = FollowUps.objects.get(note=test).id
        self.assertEqual(msg['data']['id'], fid)
Пример #12
0
	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)
Пример #13
0
	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)
Пример #14
0
	def test_site_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 has not current site
		result = site_staff(request)
		self.assertEqual(result.status_code, 200)

		current_site = Site(name='test site', address1='test address', lat=0.0, longit=0.1)
		current_site.save()

		staff.current_site = current_site
		staff.save()

		#staff has current site
		result = site_staff(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(len(msg['data']['users']), 0)

		#return_python == true
		result = site_staff(request, True)
		msg = result['data']['users']
		self.assertEqual(len(msg), 0)
Пример #15
0
    def test_dicom_view(self):
        message_id = 0
        attachment_id = 0
        request = generateHttpRequest()

        #get method
        request.method = 'GET'
        result = dicom_view(request, message_id, attachment_id)
        self.assertEqual(result.status_code, 400)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE002')

        #post method
        request.method = 'POST'

        #invalid form data
        request.POST['secret'] = 'abc'
        result = dicom_view(request, message_id, attachment_id)
        self.assertEqual(result.status_code, 400)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE031')

        #valid form data
        request.POST['secret'] = 'cb1996537e304e47baf12cc5acaaada6'
        try:
            result = dicom_view(request, message_id, attachment_id)
        except:
            self.assertEqual(result.status_code, 400)
Пример #16
0
	def test_list_tasks(self):
		request = generateHttpRequest()

		#get method
		request.method = 'GET'
		result = list_tasks(request)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE002')

		#post method
		request.method = 'POST'

		request.POST['done_from'] = ''
		request.POST['due_from_timestamp'] = ''
		request.POST['creation_from_timestamp'] = ''
		request.POST['done_to'] = ''
		request.POST['due_to_timestamp'] = ''
		request.POST['creation_to_timestamp'] = ''
		request.POST['count'] = ''
		request.POST['completed'] = ''

		result = list_tasks(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(msg['data']['query_count'], 0)
Пример #17
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)
Пример #18
0
	def test_new_task(self):
		test = 'test note'
		request = generateHttpRequest()

		#get method
		request.method = 'GET'
		result = new_task(request)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE002')

		#post method
		request.method = 'POST'

		#invalid form data
		request.POST['due'] = '23swasdf'
		request.POST['priority'] = 2
		request.POST['description'] = 'test'
		request.POST['note'] = test
		result = new_task(request)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE031')

		#valid form data
		request.POST['due'] = '1358932953'
		request.POST['priority'] = 1
		result = new_task(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		fid = FollowUps.objects.get(note=test).id
		self.assertEqual(msg['data']['id'], fid)
Пример #19
0
	def test_re_key(self):
		request = generateHttpRequest()

		result = re_key(request)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE100')
Пример #20
0
    def test_site_providers(self):
        request = generateHttpRequest()

        #provider has not current site
        result = site_providers(request)
        self.assertEqual(result.status_code, 200)

        current_site = Site(name='test site',
                            address1='test address',
                            lat=0.0,
                            longit=0.1)
        current_site.save()

        request.provider.current_site = current_site
        request.provider.save()

        #provider has current site
        result = site_providers(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(len(msg['data']['users']), 0)

        #return_python == true
        result = site_providers(request, True)
        msg = result['data']['users']
        self.assertEqual(len(msg), 0)
Пример #21
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)
Пример #22
0
    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)
Пример #23
0
	def setUp(self):
		clean_db_datas()
		self.request = generateHttpRequest()
		self.assn = SmartPhoneAssn.all_objects.get(device_id=self.request.REQUEST['DCOM_DEVICE_ID'])
		self.assn.user_type = 101
		self.assn.push_token = 'test smartPhoneAssn'
		self.assn.save(self.request)
Пример #24
0
    def test_re_key(self):
        request = generateHttpRequest()

        result = re_key(request)
        self.assertEqual(result.status_code, 400)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE100')
Пример #25
0
	def test_resend_invite(self):
		email = '*****@*****.**'
		invitation_id = 0
		request = generateHttpRequest()

		#get method
		request.method = 'GET'
		result = resend_invite(request, invitation_id)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE002')

		#post method
		request.method = 'POST'
		#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 = resend_invite(request, invitation_id)
		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)

		#invalid invitation id
		note = 'test'
		request.POST['note'] = note
		try:
			resend_invite(request, invitation_id)
		except Http404:
			self.assertRaises(Http404())

		usertype = 1
		#another email
		errEmail = '*****@*****.**'
		code = '12345'
		invite = Invitation(code=code, sender=request.user, recipient=errEmail, 
			userType=usertype)
		invite.save()
		result = resend_invite(request, invite.pk)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(msg['data']['id'], invite.id)

		#use time setting
		request.POST['use_time_setting'] = True
		errEmail = '*****@*****.**'
		code = '12wsxs'
		invite = Invitation(code=code, sender=request.user, recipient=errEmail, 
			userType=usertype)
		invite.save()
		result = resend_invite(request, invite.pk)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(msg['data']['id'], invite.id)
Пример #26
0
	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')
Пример #27
0
 def testGetSentMessagesLogic(self):
     request = generateHttpRequest()
     request.method = "get"
     response = getSentMessagesLogic(request, return_python=False)
     self.assertEqual(json.loads(response.content)['errno'], 'GE002')
     request.method = "POST"
     response = getSentMessagesLogic(request, return_python=True)
     for dresp in response:
         self.assertEqual(dresp[1], 'a')
Пример #28
0
    def test_user_search(self):
        request = generateHttpRequest()

        #get method
        request.method = 'GET'
        result = user_search(request)
        self.assertEqual(result.status_code, 400)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE002')

        request.method = 'POST'

        #invalid form data
        request.POST['name'] = 'abc'
        request.POST['limit'] = 'limit'

        result = user_search(request)
        self.assertEqual(result.status_code, 400)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE031')

        #valid form data
        request.POST['limit'] = 10

        #find 0 provider
        result = user_search(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(msg['data']['count'], 0)

        #find 1 provider
        mhluser = MHLUser.objects.get(id=request.user.id)
        mhluser.first_name = 'abc'
        mhluser.save()
        result = user_search(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(msg['data']['count'], 1)

        #1 physician find
        phy = Physician(user=request.provider)
        phy.save()
        result = user_search(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(msg['data']['count'], 1)

        #1 medical student find
        request.provider.clinical_clerk = True
        request.provider.save()
        result = user_search(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(msg['data']['count'], 1)
Пример #29
0
	def test_user_search(self):
		request = generateHttpRequest()

		#get method
		request.method = 'GET'
		result = user_search(request)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE002')

		request.method = 'POST'

		#invalid form data
		request.POST['name'] = 'abc'
		request.POST['limit'] = 'limit'

		result = user_search(request)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE031')

		#valid form data
		request.POST['limit'] = 10

		#find 0 provider
		result = user_search(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(msg['data']['count'], 0)

		#find 1 provider
		mhluser = MHLUser.objects.get(id=request.user.id)
		mhluser.first_name = 'abc'
		mhluser.save()
		result = user_search(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(msg['data']['count'], 1)

		#1 physician find
		phy = Physician(user=request.provider)
		phy.save()
		result = user_search(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(msg['data']['count'], 1)

		#1 medical student find
		request.provider.clinical_clerk = True
		request.provider.save()
		result = user_search(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(msg['data']['count'], 1)
Пример #30
0
	def testBrokerEditProfileLogic(self):
		request = generateHttpRequest()
		request.method = "get"
		self.assertEqual(brokerEditProfileLogic(request).status_code,400)
		request.method = "POST"
		request.POST = {'first_name':'yang',
					'email':'*****@*****.**',
					'last_name':'peng',
					'gender':'M',
					'email_confirmed':True
					}
		self.assertEqual(brokerEditProfileLogic(request).status_code,200)
Пример #31
0
	def test_app_version_update(self):
		request = generateHttpRequest()

		request.method = 'GET'
		result = app_version_update(request)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE002')

		request.method = 'POST'
		request.POST['app_version'] = '1.22'
		result = app_version_update(request)
		self.assertEqual(result.status_code, 200)
Пример #32
0
    def test_app_version_update(self):
        request = generateHttpRequest()

        request.method = 'GET'
        result = app_version_update(request)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE002')

        request.method = 'POST'
        request.POST['app_version'] = '1.22'
        result = app_version_update(request)
        self.assertEqual(result.status_code, 200)
Пример #33
0
 def testBrokerEditProfileLogic(self):
     request = generateHttpRequest()
     request.method = "get"
     self.assertEqual(brokerEditProfileLogic(request).status_code, 400)
     request.method = "POST"
     request.POST = {
         'first_name': 'yang',
         'email': '*****@*****.**',
         'last_name': 'peng',
         'gender': 'M',
         'email_confirmed': True
     }
     self.assertEqual(brokerEditProfileLogic(request).status_code, 200)
Пример #34
0
    def test_user_update_photo(self):
        request = generateHttpRequest()

        #get method
        request.method = 'GET'
        result = user_update_photo(request)
        self.assertEqual(result.status_code, 400)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE002')

        #post method
        request.method = 'POST'

        #provider login and has no photo
        result = user_update_photo(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(
            msg['photo'],
            ''.join([settings.MEDIA_URL, 'images/photos/avatar2.png']))

        #staff login and has no photo
        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 = user_update_photo(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(
            msg['photo'],
            ''.join([settings.MEDIA_URL, 'images/photos/staff_icon.jpg']))

        #nurse login and has no photo
        nurse = Nurse(user=staff)
        nurse.save()
        result = user_update_photo(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(
            msg['photo'],
            ''.join([settings.MEDIA_URL, 'images/photos/nurse.jpg']))

        #user has photo, and new photo == old photo
        mhluser = MHLUser.objects.get(id=request.user.id)
        mhluser.photo = 'a.png'
        mhluser.save()
        result = user_update_photo(request)
        self.assertEqual(result.status_code, 200)
Пример #35
0
    def test_update_task(self):
        task_id = 0
        test = 'test'
        request = generateHttpRequest()

        #get method
        request.method = 'GET'
        result = update_task(request, task_id)
        self.assertEqual(result.status_code, 400)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE002')

        #post method
        request.method = 'POST'

        #invalid form data
        request.POST['due'] = 'wsass'
        request.POST['priority'] = 1
        request.POST['description'] = test
        request.POST['note'] = test
        request.POST['completed'] = '1'  # in app/api value is string

        result = update_task(request, task_id)
        self.assertEqual(result.status_code, 400)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE031')

        #valid form data
        request.POST['due'] = '1358932953'

        #404 not find followup
        with self.assertRaises(Http404):
            update_task(request, task_id)

        #valid followup
        task = FollowUps.objects.create(user=request.user, priority=1)
        request.POST['completed'] = '0'  # in app/api value is string
        result = update_task(request, task.pk)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        task = FollowUps.objects.get(pk=task.pk, user=request.user)
        self.assertEqual(task.done, False)
        self.assertEqual(msg['data'], {})
        note = FollowUps.objects.get(id=task.id).note
        self.assertEqual(note, test)

        request.POST['completed'] = '1'  # in app/api value is string
        result = update_task(request, task.pk)
        task = FollowUps.objects.get(pk=task.pk, user=request.user)
        self.assertEqual(task.done, True)
Пример #36
0
	def test_update_task(self):
		task_id = 0
		test = 'test'
		request = generateHttpRequest()

		#get method
		request.method = 'GET'
		result = update_task(request, task_id)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE002')

		#post method
		request.method = 'POST'

		#invalid form data
		request.POST['due'] = 'wsass'
		request.POST['priority'] = 1
		request.POST['description'] = test
		request.POST['note'] = test
		request.POST['completed'] = '1'  # in app/api value is string

		result = update_task(request, task_id)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE031')

		#valid form data
		request.POST['due'] = '1358932953'

		#404 not find followup
		with self.assertRaises(Http404):
			update_task(request, task_id)

		#valid followup
		task = FollowUps.objects.create(user=request.user, priority=1)
		request.POST['completed'] = '0'  # in app/api value is string  
		result = update_task(request, task.pk)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		task = FollowUps.objects.get(pk=task.pk, user=request.user)
		self.assertEqual(task.done, False)
		self.assertEqual(msg['data'], {})
		note = FollowUps.objects.get(id=task.id).note
		self.assertEqual(note, test)

		request.POST['completed'] = '1'  # in app/api value is string
		result = update_task(request, task.pk)
		task = FollowUps.objects.get(pk=task.pk, user=request.user)
		self.assertEqual(task.done, True)
Пример #37
0
    def test_getMyInvitations(self):
        request = generateHttpRequest()

        #find 0
        result = getMyInvitations(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(len(msg['data']['invitations']), 0)

        #find 1
        pends = create_org_pending(request.user)
        result = getMyInvitations(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(len(msg['data']['invitations']), 1)
Пример #38
0
 def testGetMessageLogic(self):
     request = generateHttpRequest()
     user = create_user('yangpeng', 'yang', 'peng', 'demo')
     msg = Message(sender=user, sender_site=None, subject="pandas")
     msg.urgent = False
     msg.message_type = 'NM'
     msg.callback_number = '2561234561'
     msg.save()
     message_id = msg.uuid
     request.method = "get"
     response = getMessageLogic(request, message_id)
     self.assertEqual(json.loads(response.content)['errno'], 'GE002')
     request.method = "POST"
     with self.assertRaises(Http404):
         getMessageLogic(request, message_id)
Пример #39
0
	def test_getMyInvitations(self):
		request = generateHttpRequest()

		#find 0
		result = getMyInvitations(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(len(msg['data']['invitations']), 0)

		#find 1
		pends = create_org_pending(request.user)
		result = getMyInvitations(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(len(msg['data']['invitations']), 1)
Пример #40
0
	def test_acceptOrgInvitation_not_practice(self, start_thread):
		request = generateHttpRequest()

		#invalid org id
		org_id = 0
		try:
			acceptOrgInvitation(request, org_id)
		except Http404:
			self.assertRaises(Http404('No Pending_Organization matches the given query.'))

		#valid org id
		pending = create_org_pending(request.user, org_type_id=RESERVED_ORGANIZATION_TYPE_ID_GROUPPRACTICE)
		result = acceptOrgInvitation(request, pending.pk)
		self.assertEqual(result.status_code, 200)
		self.assertEqual(len(request.role_user.practices.all()), 1)
		self.assertIsNone(request.role_user.current_practice)
Пример #41
0
	def test_get_key(self):
		request = generateHttpRequest()
		#get method
		request.method = 'GET'
		result = get_key(request)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE002')

		#post method and form data is invalid
		request.method = 'POST'
		request.POST['secret'] = 'error'
		result = get_key(request)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE031')
Пример #42
0
	def test_delete_task(self):
		task_id = 0
		request = generateHttpRequest()

		#invalid task id
		try:
			delete_task(request, task_id)
		except Http404:
			self.assertRaises(Http404())

		#valid task id
		task = FollowUps(user=request.user, priority=1)
		task.save()
		result = delete_task(request, task.pk)
		self.assertEqual(result.status_code, 200)
		self.assertEqual(FollowUps.objects.count(), 0)
Пример #43
0
    def test_delete_task(self):
        task_id = 0
        request = generateHttpRequest()

        #invalid task id
        try:
            delete_task(request, task_id)
        except Http404:
            self.assertRaises(Http404())

        #valid task id
        task = FollowUps(user=request.user, priority=1)
        task.save()
        result = delete_task(request, task.pk)
        self.assertEqual(result.status_code, 200)
        self.assertEqual(FollowUps.objects.count(), 0)
Пример #44
0
    def test_site_students(self):
        request = generateHttpRequest()
        staff = OfficeStaff(user=request.user)
        staff.save()

        #provider not staff
        assn = SmartPhoneAssn.all_objects.get(
            device_id=request.REQUEST['DCOM_DEVICE_ID'])
        assn.user_type = 101
        assn.save(request)
        result = site_students(request)
        self.assertEqual(result.status_code, 400)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'DM020')

        #get back provider and has no current site
        assn = SmartPhoneAssn.all_objects.get(
            device_id=request.REQUEST['DCOM_DEVICE_ID'])
        assn.user_type = 1
        assn.save(request)
        result = site_students(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(len(msg['data']['users']), 0)

        #provider has current site
        site = Site(name='test site',
                    address1='test address',
                    lat=0.0,
                    longit=0.1)
        site.save()
        request.provider.current_site = site
        request.provider.save()
        result = site_students(request)
        self.assertEqual(result.status_code, 200)
        self.assertEqual(len(msg['data']['users']), 0)

        #Physician has current site
        request.provider.sites.add(site)
        request.provider.clinical_clerk = True
        request.provider.save()
        phy = Physician(user=request.provider)
        phy.save()
        result = site_students(request)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(len(msg['data']['users']), 1)
Пример #45
0
	def test_register_push_token(self):
		request = generateHttpRequest()

		request.method = 'GET'
		result = register_push_token(request)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE002')

		request.method = 'POST'
		request.POST['token'] = 'abc'
		result = register_push_token(request)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE031')

		request.POST['token'] = 'abcdefetyuabcdefetyuabcdefetyuabcdefetyuabcdefetyuabcdefetyuacsw'
		result = register_push_token(request)
		self.assertEqual(result.status_code, 200)
Пример #46
0
	def test_refuseOrgInvitation(self):
		request = generateHttpRequest()

		#404 find no invitation
		pending_id = 0
		try:
			refuseOrgInvitation(request, pending_id)
		except Http404:
			self.assertRaises(Http404('No Pending_Organization matches the given query.'))

		#refuse invitation success
		pending = create_org_pending(request.user)
		result = refuseOrgInvitation(request, pending.pk)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(msg['data'], {})
		self.assertEqual(len(request.role_user.practices.all()), 0)
Пример #47
0
    def test_register_push_token(self):
        request = generateHttpRequest()

        request.method = 'GET'
        result = register_push_token(request)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE002')

        request.method = 'POST'
        request.POST['token'] = 'abc'
        result = register_push_token(request)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE031')

        request.POST[
            'token'] = 'abcdefetyuabcdefetyuabcdefetyuabcdefetyuabcdefetyuabcdefetyuacsw'
        result = register_push_token(request)
        self.assertEqual(result.status_code, 200)
Пример #48
0
	def setUp(self):
		clean_db_datas()
		self.request = generateHttpRequest()
		self.assn = SmartPhoneAssn.all_objects.get(device_id=self.request.REQUEST['DCOM_DEVICE_ID'])
		self.assn.user_type = 101
		self.assn.push_token = 'test smartPhoneAssn'
		self.assn.save(self.request)
		
		env = Client()._base_environ()
		request = HttpRequest()
		request.META['REMOTE_ADDR'] = env['REMOTE_ADDR']
		self.assn1_request = request
		self.assn1 = SmartPhoneAssn()
		self.assn1.user = self.request.user
		self.assn1.user_type = 2
		self.assn1.platform = 'iPhone'
		self.assn1.push_token = 'test smartPhoneAssn1'
		self.assn1.save(request)
Пример #49
0
	def test_getMyOrgs(self):
		request = generateHttpRequest()

		#0 find
		result = getMyOrgs(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(len(msg['data']['organizations']), 0)

		#1 find
		_organization = create_organization()
		request.role_user.practices.add(_organization)
		request.role_user.save()

		result = getMyOrgs(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(len(msg['data']['organizations']), 1)
Пример #50
0
    def test_refuseOrgInvitation(self):
        request = generateHttpRequest()

        #404 find no invitation
        pending_id = 0
        try:
            refuseOrgInvitation(request, pending_id)
        except Http404:
            self.assertRaises(
                Http404('No Pending_Organization matches the given query.'))

        #refuse invitation success
        pending = create_org_pending(request.user)
        result = refuseOrgInvitation(request, pending.pk)
        self.assertEqual(result.status_code, 200)
        msg = json.loads(result.content)
        self.assertEqual(msg['data'], {})
        self.assertEqual(len(request.role_user.practices.all()), 0)
Пример #51
0
	def test_user_update_photo(self):
		request = generateHttpRequest()

		#get method
		request.method = 'GET'
		result = user_update_photo(request)
		self.assertEqual(result.status_code, 400)
		msg = json.loads(result.content)
		self.assertEqual(msg['errno'], 'GE002')

		#post method
		request.method = 'POST'

		#provider login and has no photo
		result = user_update_photo(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(msg['photo'], ''.join([settings.MEDIA_URL, 'images/photos/avatar2.png']))

		#staff login and has no photo
		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 = user_update_photo(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(msg['photo'], ''.join([settings.MEDIA_URL, 'images/photos/staff_icon.jpg']))

		#nurse login and has no photo
		nurse = Nurse(user=staff)
		nurse.save()
		result = user_update_photo(request)
		self.assertEqual(result.status_code, 200)
		msg = json.loads(result.content)
		self.assertEqual(msg['photo'], ''.join([settings.MEDIA_URL, 'images/photos/nurse.jpg']))

		#user has photo, and new photo == old photo
		mhluser = MHLUser.objects.get(id=request.user.id)
		mhluser.photo = 'a.png'
		mhluser.save()
		result = user_update_photo(request)
		self.assertEqual(result.status_code, 200)
Пример #52
0
    def test_check_in(self):
        request = generateHttpRequest()

        request.method = 'GET'
        result = check_in(request)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE002')

        request.method = 'POST'
        result = check_in(request)
        self.assertEqual(result.status_code, 200)

        request.POST['key'] = 'abc'
        request.POST['rx_timestamp'] = '123'
        request.POST['tx_timestamp'] = 'adf'
        result = check_in(request)
        self.assertEqual(result.status_code, 400)
        msg = json.loads(result.content)
        self.assertEqual(msg['errno'], 'GE031')
Пример #53
0
	def test_site_mgmt(self):
		request = generateHttpRequest()
		#get method and provider
		request.method = 'GET'
		result = site_mgmt(request)
		self.assertEqual(result.status_code, 200)

		#post method and site is none
		request.method = 'POST'
		result = site_mgmt(request)
		self.assertEqual(result.status_code, 200)

		#post method and new site is user site
		site = Site(name='test site', address1='test address', lat=0.0, longit=0.1)
		site.save()
		request.POST['current_site'] = site.id
		request.provider.sites.add(site)
		result = site_mgmt(request)
		self.assertEqual(result.status_code, 200)