Example #1
0
	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()
Example #2
0
    def setUpClass(cls):
        clean_db_datas()
        cls.user = create_user(
            'practicemgr1',
            'lin',
            'xing',
            'demo',
            '',
            '',
            '',
            '',
        )

        call_group = CallGroup(description='test', team='team')
        call_group.save()
        cls.call_group = call_group

        practice = PracticeLocation(
            practice_name='test',
            practice_longit='0.1',
            practice_lat='0.0',
        )
        practice.save()
        practice.call_groups.add(call_group)
        cls.practice = practice
Example #3
0
	def testCheckProviderSchedule(self):
		response = self.client.get(reverse('MHLogin.MHLOrganization.views_member.checkProviderSchedule'),\
					data={'org_id': self.practice.id,'prov_id':self.provider.user.id})
		self.assertEqual(response.status_code, 200)
		msg = json.loads(response.content)
		self.assertEqual(len(msg), 1)
		self.call_group = CallGroup.objects.create(description='test', team='team')
		organization = PracticeLocation(practice_name='testcallgroup',
								practice_longit='0.1',
								practice_lat='0.0',
								call_group = self.call_group,)
		organization.save()
		self.organization = organization
		response = self.client.get(reverse('MHLogin.MHLOrganization.views_member.checkProviderSchedule'),\
					data={'org_id': self.practice.id})
		self.assertEqual(response.status_code, 200)
		msg = json.loads(response.content)
		self.assertEqual(len(msg), 2)
		response = self.client.get(reverse('MHLogin.MHLOrganization.views_member.checkProviderSchedule'),\
					data={'org_id': self.practice.id,'prov_id':self.provider.user.id})
		self.assertEqual(response.status_code, 200)
		msg = json.loads(response.content)
		self.assertEqual(len(msg), 1)
		response = self.client.post(reverse('MHLogin.MHLOrganization.views_member.checkProviderSchedule'),\
					data={'org_id': self.practice.id,'prov_id':self.provider.user.id})
		self.assertEqual(response.status_code, 200)
		msg = json.loads(response.content)
		self.assertEqual(len(msg), 1)
Example #4
0
    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')
Example #5
0
    def testPracticeManage(self):
        practice = PracticeLocation(
            practice_name='test',
            practice_longit='0.1',
            practice_lat='0.0',
        )
        practice.save()
        self.user.current_practice = practice
        self.user.practices.add(practice)
        self.user.save()
        response = self.client.get(reverse\
          ('MHLogin.api.v1.views_account.practiceManage'), **self.extra)
        self.assertEqual(response.status_code, 200, response.status_code)
        msg = json.loads(response.content)
        self.assertEqual(len(msg), 2)

        response = self.client.post(reverse\
          ('MHLogin.api.v1.views_account.practiceManage'), **self.extra)
        self.assertEqual(response.status_code, 200, response.status_code)
        msg = json.loads(response.content)
        self.assertEqual(len(msg), 2)

        response = self.client.post(reverse\
          ('MHLogin.api.v1.views_account.practiceManage'), data={'current_practice':practice.id}, **self.extra)
        self.assertEqual(response.status_code, 200, response.status_code)
        msg = json.loads(response.content)
        self.assertEqual(len(msg), 2)
Example #6
0
    def test_canAccessCallGroup(self):
        call_group = CallGroup(description='test', team='team')
        call_group.save()

        practice = PracticeLocation(practice_name='test',
                                    practice_longit='0.1',
                                    practice_lat='0.0',
                                    call_group=call_group)
        practice.save()
        practice.call_groups.add(call_group)

        user = create_user('user-CallGroup2', 'us', 'er', 'demo')
        staff = OfficeStaff(user=user)
        staff.save()
        staff.practices.add(practice)

        #a staff call this method
        result = canAccessCallGroup(staff, long(call_group.pk))
        self.assertEqual(result, False)

        #a manager call this method
        #		manager = Office_Manager(user=staff, practice=practice, manager_role=1)
        #		manager.save()
        #
        #		result = canAccessCallGroup(manager, long(call_group.pk))
        #		self.assertEqual(result, True)

        #admin call this method
        admin = create_user('user-CallGroup', 'us', 'er', 'demo', '', '', '',
                            '', Administrator)
        result = canAccessCallGroup(admin.user, call_group)
        self.assertEqual(result, True)

        Administrator.objects.all().delete()
Example #7
0
	def test_getLevelByStaff(self):
		practice = PracticeLocation(
			practice_address1='555 Pleasant Pioneer Grove',
			practice_address2='Trailer Q615',
			practice_city='Mountain View',
			practice_state='CA',
			practice_zip='94040-4104',
			practice_lat=37.36876,
			practice_longit= -122.081864)
		practice.save()
		user = create_user('practicemgr1', 'lin', 'xing', 'demo')
		
		#not a manager login
		result = get_level_by_staff(user, practice)
		self.assertEqual(result, 0)
		
		staff = OfficeStaff(user=user)
		staff.save()
		
		manager = Office_Manager(user=staff, practice=practice, manager_role=2)
		manager.save()
		
		#a manager login
		result = get_level_by_staff(staff.id, practice)
		self.assertEqual(result, 2)
Example #8
0
    def test_isCallGroupStaff(self):
        call_group = CallGroup(description='test', team='team')
        call_group.save()

        practice = PracticeLocation(
            practice_name='test',
            practice_longit='0.1',
            practice_lat='0.0',
        )
        practice.call_group = call_group
        practice.save()

        user = create_user('user5', 'us', 'er', 'demo')

        #a mhluser call this method
        result = isCallGroupStaff(user, call_group.pk)
        self.assertEqual(result, False)

        staff = OfficeStaff(user=user)
        staff.save()
        staff.practices.add(practice)

        #a staff call this method
        result = isCallGroupStaff(user, call_group.pk)
        self.assertEqual(result, True)

        #a manager call this method
        manager = Office_Manager(user=staff, practice=practice, manager_role=1)
        manager.save()

        result = isCallGroupStaff(user, call_group.pk)
        self.assertEqual(result, True)
Example #9
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()
Example #10
0
	def test_canAccessCallGroup(self):
		call_group = CallGroup(description='test', team='team')
		call_group.save()
		
		practice = PracticeLocation(practice_name='test',
								practice_longit='0.1',
								practice_lat='0.0',
								call_group=call_group)
		practice.save()
		practice.call_groups.add(call_group)
		
		user = create_user('user-CallGroup2', 'us', 'er', 'demo')
		staff = OfficeStaff(user=user)
		staff.save()
		staff.practices.add(practice)
		
		#a staff call this method
		result = canAccessCallGroup(staff, long(call_group.pk))
		self.assertEqual(result, False)
		
		#a manager call this method
#		manager = Office_Manager(user=staff, practice=practice, manager_role=1)
#		manager.save()
#		
#		result = canAccessCallGroup(manager, long(call_group.pk))
#		self.assertEqual(result, True)
		
		#admin call this method
		admin = create_user('user-CallGroup', 'us', 'er', 'demo', '', '', '', '', Administrator)
		result = canAccessCallGroup(admin.user, call_group)
		self.assertEqual(result, True)
		
		Administrator.objects.all().delete()
Example #11
0
	def test_isCallGroupStaff(self):
		call_group = CallGroup(description='test', team='team')
		call_group.save()
		
		practice = PracticeLocation(practice_name='test',
								practice_longit='0.1',
								practice_lat='0.0',)
		practice.call_group = call_group
		practice.save()
		
		
		user = create_user('user5', 'us', 'er', 'demo')
		
		#a mhluser call this method
		result = isCallGroupStaff(user, call_group.pk)
		self.assertEqual(result, False)
		
		staff = OfficeStaff(user=user)
		staff.save()
		staff.practices.add(practice)
		
		#a staff call this method
		result = isCallGroupStaff(user, call_group.pk)
		self.assertEqual(result, True)
		
		#a manager call this method
		manager = Office_Manager(user=staff, practice=practice, manager_role=1)
		manager.save()
		
		result = isCallGroupStaff(user, call_group.pk)
		self.assertEqual(result, True)
Example #12
0
def create_organization(auto_type=True, org_type=None, org_type_id=None, org_name="Test Org"):
	if not org_type:
		if auto_type:
			org_setting = OrganizationSetting(can_have_luxury_logo=True,
											display_in_contact_list_tab=True)
			org_setting.save()
			type_name = "Test Org Type1"
			if org_type_id:
				org_type = OrganizationType(id=org_type_id, 
					name=type_name, organization_setting=org_setting)
				org_type.save()
			else:
				org_type = OrganizationType(name=type_name, organization_setting=org_setting)
				# force id for test - MySQL UT's don't re-use ids after cleanup 
				org_type.id = RESERVED_ORGANIZATION_TYPE_ID_PRACTICE
				# TODO: issue 2030, reserved id's is a hazardous approach, the UT's 
				# were working with SQLlite but not with MySQL, DB engines recycle
				# id's differently and we should not rely on reserved id fields.  This 
				# should be addressed in a separate Redmine as model changes may occur.
				org_type.save()

	_organization = PracticeLocation(
		practice_name="Test Org",
		practice_address1='555 Pleasant Pioneer Grove',
		practice_address2='Trailer Q615',
		practice_city='Mountain View',
		practice_state='CA',
		practice_zip='94040-4104',
		practice_lat=37.36876,
		practice_longit=-122.081864,
		organization_type=org_type)
	_organization.save()
	return _organization
Example #13
0
 def testGetDComNumber(self):
     user = create_user(get_random_username(),
                        "tian",
                        "thj",
                        "demo",
                        "555 Bryant St.",
                        "Palo Alto",
                        "CA",
                        "",
                        uklass=OfficeStaff)
     user.mdcom_phone = '9001234123'
     user.save()
     practice = PracticeLocation(
         practice_name='test',
         practice_longit='0.1',
         practice_lat='0.0',
     )
     practice.save()
     mgr = Office_Manager(user=user, practice=practice, manager_role=2)
     mgr.save()
     response = self.client.get(reverse\
       ('MHLogin.api.v1.views_account.getDComNumber'), **self.extra)
     self.assertEqual(response.status_code, 200, response.status_code)
     msg = json.loads(response.content)
     self.assertEqual(len(msg), 2)
Example #14
0
    def test_getLevelByStaff(self):
        practice = PracticeLocation(
            practice_address1='555 Pleasant Pioneer Grove',
            practice_address2='Trailer Q615',
            practice_city='Mountain View',
            practice_state='CA',
            practice_zip='94040-4104',
            practice_lat=37.36876,
            practice_longit=-122.081864)
        practice.save()
        user = create_user('practicemgr1', 'lin', 'xing', 'demo')

        #not a manager login
        result = get_level_by_staff(user, practice)
        self.assertEqual(result, 0)

        staff = OfficeStaff(user=user)
        staff.save()

        manager = Office_Manager(user=staff, practice=practice, manager_role=2)
        manager.save()

        #a manager login
        result = get_level_by_staff(staff.id, practice)
        self.assertEqual(result, 2)
Example #15
0
	def test_getCurrentPractice(self):
		practice = PracticeLocation(practice_name='test',
								practice_longit='0.1',
								practice_lat='0.0',)
		practice.save()
		user = create_user('practicemgr1', 'lin', 'xing', 'demo')
		
		#a mhluser login and call this method
		result = getCurrentPractice(user)
		self.assertEqual(result, '')
		
		#a provider login and call this method
		provider = Provider(username='******', first_name='tes', last_name="meister", email='*****@*****.**',
					user=user, office_lat=0.0, office_longit=0.0)
		provider.current_practice = practice
		provider.save()
		
		result = getCurrentPractice(user)
		self.assertEqual(result, 'test')
		
		#a staff login and call this method
		staff = OfficeStaff(user=user)
		staff.current_practice = practice
		staff.save()
		result = getCurrentPractice(user)
		self.assertEqual(result, 'test')
	def test_checkoutUserManager(self):
		practice = PracticeLocation(practice_name='test', practice_longit='0.1', practice_lat='0.0',)
		practice.save()
		user = create_user('staff', 'lin', 'xing', 'demo', '', '', '', '',)
		staff = OfficeStaff(user=user)
		staff.save()
		staff.practices.add(practice)

		provider = Provider.objects.create(username='******', first_name='heal',
			last_name='meister', address1="555 Bryant St.", city="Palo Alto", state="CA", 
			lat=0.0, longit=0.0, office_lat=0.0, office_longit=0.0, is_active=True, 
			tos_accepted=True, mobile_confirmed=True, mdcom_phone='123', mobile_phone='456')
		provider.user = provider  # for our unique prov-user reln
		provider.save()

		# try provider
		result = user_is_mgr_of_practice(provider, practice)
		self.assertEqual(False, result)

		# try just staff
		result = user_is_mgr_of_practice(staff.user, practice)
		self.assertEqual(False, result)

		# now office manager (make staff an OM)
		om = Office_Manager.objects.create(user=staff, practice=practice, manager_role=1)
		result = user_is_mgr_of_practice(om.user.user, practice)
		self.assertEqual(True, result)
		result = user_is_mgr_of_practice(staff.user, practice)
		self.assertEqual(True, result)
Example #17
0
    def setUpClass(cls):
        clean_db_datas()
        user = create_user(
            'practicemgr1',
            'lin',
            'xing',
            'demo',
            '',
            '',
            '',
            '',
        )
        cls.user = user
        call_group = CallGroup(description='test', team='team')
        call_group.save()
        cls.group = call_group

        practice = PracticeLocation(
            practice_name='Test Org',
            practice_longit='0.1',
            practice_lat='0.0',
        )
        practice.save()
        cls.practice = practice
        provider = Provider()
        provider.user = cls.user
        provider.office_lat = 0.0
        provider.office_longit = 0.0
        provider.current_practice = practice
        provider.save()
        provider.practices.add(practice)
        cls.provider = provider

        practice.call_groups.add(call_group)
        cls.practice = practice
Example #18
0
	def testPracticeManage(self):
		practice = PracticeLocation(practice_name='test',
								practice_longit='0.1',
								practice_lat='0.0',)
		practice.save()
		self.user.current_practice = practice
		self.user.practices.add(practice)
		self.user.save()
		response = self.client.get(reverse\
				('MHLogin.api.v1.views_account.practiceManage'), **self.extra)
		self.assertEqual(response.status_code, 200, response.status_code)
		msg = json.loads(response.content)
		self.assertEqual(len(msg), 2)
		
		response = self.client.post(reverse\
				('MHLogin.api.v1.views_account.practiceManage'), **self.extra)
		self.assertEqual(response.status_code, 200, response.status_code)
		msg = json.loads(response.content)
		self.assertEqual(len(msg), 2)
		
		response = self.client.post(reverse\
				('MHLogin.api.v1.views_account.practiceManage'), data={'current_practice':practice.id}, **self.extra)
		self.assertEqual(response.status_code, 200, response.status_code)
		msg = json.loads(response.content)
		self.assertEqual(len(msg), 2)
Example #19
0
 def testLocalOffice(self):
     practice = PracticeLocation(practice_name = "pyang",practice_address1="Palo Alto",\
       practice_longit = 0.0,practice_lat = 0.0)
     practice.save()
     data = {'id': practice.id}
     response = self.client.post(reverse\
       ('MHLogin.api.v1.views_practices.localOffice'), data, **self.extra)
     self.assertEqual(response.status_code, 200, response.status_code)
Example #20
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')
Example #21
0
    def testPracticeStaff(self):
        practice = PracticeLocation(practice_name = "pyang",practice_address1="Palo Alto",\
          practice_longit = 0.0,practice_lat = 0.0)
        practice.save()

        response = self.client.get\
          (reverse('MHLogin.api.v1.views_practices.practiceStaff',\
          args=(practice.id,)), **self.extra)
        self.assertEqual(response.status_code, 200, response.status_code)
Example #22
0
	def testPracticeStaff(self):
		practice = PracticeLocation(practice_name = "pyang",practice_address1="Palo Alto",\
				practice_longit = 0.0,practice_lat = 0.0)
		practice.save()
		
		response = self.client.get\
				(reverse('MHLogin.api.v1.views_practices.practiceStaff',\
				args=(practice.id,)), **self.extra)
		self.assertEqual(response.status_code, 200, response.status_code)
Example #23
0
    def test_isMultiCallGroupManager(self):
        #init practice and call group
        call_group = CallGroup(description='test', team='team')
        call_group.save()

        practice = PracticeLocation(
            practice_name='test',
            practice_longit='0.1',
            practice_lat='0.0',
        )
        practice.save()
        practice.call_groups.add(call_group)

        user = create_user('user1', 'us', 'er', 'demo')

        #only mhluser call method
        result = isMultiCallGroupManager(user, practice.id, call_group.id)
        self.assertEqual(result, False)

        #staff call method
        staff = OfficeStaff(user=user)
        staff.save()
        result = isMultiCallGroupManager(user, call_group.id, practice.id)
        self.assertEqual(result, False)

        practice2 = PracticeLocation(
            practice_name='test2',
            practice_longit='0.1',
            practice_lat='0.0',
        )
        practice2.save()
        practice2.call_groups.add(call_group)

        #manager call method
        staff.practices.add(practice)
        staff.save()
        manager = Office_Manager(user=staff, practice=practice, manager_role=1)
        manager.save()
        result = isMultiCallGroupManager(user, call_group.id, practice.id)
        self.assertEqual(result, True)

        #manager with specialty call method
        specialty_name = 'Specialty A'
        specialty1 = Specialty()
        specialty1.name = specialty_name
        specialty1.practice_location = practice
        specialty1.number_selection = 3
        specialty1.save()
        specialty1.call_groups.add(call_group)

        manager2 = Office_Manager(user=staff,
                                  practice=practice2,
                                  manager_role=1)
        manager2.save()

        result = isMultiCallGroupManager(user, call_group.id, practice.id)
        self.assertEqual(result, True)
Example #24
0
	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())
Example #25
0
	def testGetPracticeList(self):
		practice1 = PracticeLocation(
			practice_name='USA practice',
			practice_address1='555 Pleasant Pioneer Grove',
			practice_address2='Trailer Q615 beijing',
			practice_city='Mountain View suzhou',
			practice_state='CA',
			practice_zip='94040-4104',
			practice_lat=37.36876,
			practice_longit=-122.081864)
		practice1.save()
		
		practice2 = PracticeLocation(
			practice_name='China practice',
			practice_address1='jiangsu',
			practice_address2='beijing',
			practice_city='suzhou',
			practice_state='JS',
			practice_zip='94040-4104',
			practice_lat=37.36876,
			practice_longit=-122.081864)
		practice2.save()

		condition_dicts = [
					{'practice_name':u'practice','result':2,'result_failed':'name failed'},
					{'practice_name':u'USA','result':1,'result_failed':'name failed'},
					{'practice_name':u'abc','result':0,'result_failed':'name failed'},
					{'practice_address':u'jiangsu','result':1,'result_failed':'address failed'},
					{'practice_address':u'beijing','result':2,'result_failed':'address failed'},
					{'practice_address':u'abc','result':0,'result_failed':'address failed'},
					{'practice_city':u'Mountain','result':1,'result_failed':'city failed1'},
					{'practice_city':u'suzhou','result':2,'result_failed':'city failed2'},
					{'practice_city':u'abc','result':0,'result_failed':'city failed3'},
					{'practice_state':u'CA','result':1,'result_failed':'state failed'},
					{'practice_state':u'JS','result':1,'result_failed':'state failed'},
					{'practice_state':u'abc','result':0,'result_failed':'state failed'},
					{'practice_zip':'94040-4104','result':2,'result_failed':'zip failed'},
					{'practice_zip':u'22222','result':0,'result_failed':'zip failed'},
					{'limit':0,'result':2, 'result_total':2, 'result_failed':'limit failed'},
					{'limit':1,'result':1, 'result_total':2, 'result_failed':'limit failed'},
					{'limit':2,'result':2, 'result_total':2, 'result_failed':'limit failed'},
					{
						'practice_name':u'practice','address':u'suzhou china','city':u'suzhou','state':u'AB',
						'limit':2,'result':2, 'result_total':2, 'result_failed':'all failed1'
					},
					{
						'practice_name':u'abc','address':u'suzhou china','city':u'suzhou','state':u'AB',
						'limit':1,'result':0, 'result_total':0, 'result_failed':'all failed2'
					},
			]
		for dict in condition_dicts:
			result = getPracticeList(dict)
			if 'result_total' not in dict:
				dict['result_total'] = dict['result']
			self.assertEqual(dict['result_total'], result['total_count'], dict['result_failed'])
			self.assertEqual(dict['result'], len(result['results']), dict['result_failed'])
Example #26
0
class ChangeCurrentPracticeForStaffTest(TestCase):
    staff = None
    practice = None

    def setUp(self):
        self.staff = create_user("bblazejowsky",
                                 "bill",
                                 "blazejowsky",
                                 "demo",
                                 "Ocean Avenue",
                                 "Carmel",
                                 "CA",
                                 "93921",
                                 uklass=OfficeStaff)
        PracticeLocation.objects.all().delete()
        self.practice = PracticeLocation(
            practice_address1='555 Pleasant Pioneer Grove',
            practice_address2='Trailer Q615',
            practice_city='Mountain View',
            practice_state='CA',
            practice_zip='94040-4104',
            practice_lat=37.36876,
            practice_longit=-122.081864)
        self.practice.save()

    def tearDown(self):
        OfficeStaff.objects.filter(id=self.staff.id).delete()
        MHLUser.objects.filter(id=self.staff.user.id).delete()
        PracticeLocation.objects.all().delete()

    def testChangeCurrentPracticeForStaff(self):
        with self.assertRaises(PracticeLocation.DoesNotExist):
            changeCurrentPracticeForStaff(None, self.staff.user.id)
        with self.assertRaises(MHLUser.DoesNotExist):
            changeCurrentPracticeForStaff(self.practice.id, None)
        with self.assertRaises(PracticeLocation.DoesNotExist):
            changeCurrentPracticeForStaff(self.practice.id + 1,
                                          self.staff.user.id)

        changeCurrentPracticeForStaff(self.practice.id, self.staff.user.id)
        staff = OfficeStaff.objects.filter(id=self.staff.id)
        if staff:
            staff = staff[0]
            self.assertEqual(staff.current_practice.id, self.practice.id)

        mhluser = MHLUser.objects.filter(id=self.staff.user.id)
        if mhluser:
            mhluser = mhluser[0]
            practice = self.practice
            self.assertEqual(practice.practice_address1, mhluser.address1)
            self.assertEqual(practice.practice_address2, mhluser.address2)
            self.assertEqual(practice.practice_city, mhluser.city)
            self.assertEqual(practice.practice_state, mhluser.state)
            self.assertEqual(practice.practice_zip, mhluser.zip)
            self.assertEqual(practice.practice_lat, mhluser.lat)
            self.assertEqual(practice.practice_longit, mhluser.longit)
Example #27
0
	def testMyPracticeStaff(self):
		practice = PracticeLocation(practice_name = "pyang",practice_address1="Palo Alto",\
				practice_longit = 0.0,practice_lat = 0.0)
		practice.save()
		data = {
			'id': practice.id
		}
		response = self.client.post(reverse\
				('MHLogin.api.v1.views_practices.myPracticeStaff'), data, **self.extra)
		self.assertEqual(response.status_code, 200, response.status_code)
Example #28
0
    def setUpClass(cls):
        clean_db_datas()
        cls.user = create_user('practicemgr1', 'lin', 'xing', 'demo')

        practice = PracticeLocation(
            practice_name='test',
            practice_longit='0.1',
            practice_lat='0.0',
        )
        practice.save()
        cls.practice = practice
Example #29
0
	def testProfile(self):
		phys = Physician(user = self.user)
		phys.save()
		data = {
			'username':get_random_username(),
			'first_name':'c',
			'last_name':'tian',
			'mobile_phone':9001111111,
			'gender':'M',
			'old_email':'*****@*****.**',
			'email':'*****@*****.**',
			'lat':0.0, 
			'longit':0.0, 
			'address1':'address1', 
			'address2':'address2', 
			'city':'Chicago', 
			'state':'IL', 
			'zip':60601,
			'user_type':1,
			'office_lat':41.885805,
			'office_longit':-87.6229106,
		}

		response = self.client.post(reverse\
				('MHLogin.api.v1.views_account.profile'), data,**self.extra)
		self.assertEqual(response.status_code, 200, response.status_code)
		msg = json.loads(response.content)
		self.assertEqual(len(msg), 2)
		
		site = Site(
				name='mysite',
				address1='555 Pleasant Pioneer Grove',
				address2='Trailer Q615',
				city='Mountain View',
				state='CA',
				zip='94040-4104',
				lat=37.36876,
				longit=-122.081864,
				short_name='MSite'
			)
		site.save()
		practice = PracticeLocation(practice_name='test',
								practice_longit='0.1',
								practice_lat='0.0',)
		practice.save()
		self.user.current_site = site
		self.user.current_practice = practice
		self.user.save()
		response = self.client.get(reverse\
				('MHLogin.api.v1.views_account.profile'), data,**self.extra)
		self.assertEqual(response.status_code, 200, response.status_code)
		msg = json.loads(response.content)
		self.assertEqual(len(msg), 2)
		
Example #30
0
class GetSubTypesICanUseTest(TestCase):
	org_type = None
	admin = None
	manager = None
	organization = None

	def setUp(self):
		clean_db_datas()

		OrganizationType.objects.all().delete()
		org_setting = OrganizationSetting()
		org_setting.save()
		self.org_type = OrganizationType(name="Test Org Type1", 
			organization_setting=org_setting, is_public=True)
		# TODO: issue 2030, reserved id's is a hazardous approach, the UT's 
		# were working with SQLlite but not with MySQL, DB engines recycle
		# id's differently and we should not rely on reserved id fields.  This 
		# should be addressed in a separate Redmine as model changes may occur.
		self.org_type.id = RESERVED_ORGANIZATION_TYPE_ID_PRACTICE
		self.org_type.save()

		self.organization = create_organization()
		self.organization = PracticeLocation(
			practice_name=get_random_username(),
			practice_address1='555 Pleasant Pioneer Grove',
			practice_address2='Trailer Q615',
			practice_city='Mountain View',
			practice_state='CA',
			practice_zip='94040-4104',
			practice_lat=37.36876,
			practice_longit=-122.081864)
		self.organization.save()

		self.admin = create_user('admin', 'Morris', 'Kelly', 'demo', uklass=Administrator)
		staff = create_user('practicemgr1', 'Practice', 'Mgr', 'demo', uklass=OfficeStaff)
		staff.practices.add(self.organization)
		staff.save()

		self.manager = Office_Manager(user=staff, practice=self.organization, manager_role=1)
		self.manager.save()

	def test_get_sub_types_I_can_use_empty(self):
		self.assertEqual(0, len(get_sub_types_by_typeid(self.org_type.id)))

	def test_get_sub_types_I_can_use(self):
		create_multiple_organization_types(self.org_type, num=10)
		self.assertEqual(10, len(get_sub_types_by_typeid(self.org_type.id)))

		create_multiple_organization_types(self.org_type, num=10, is_public=False)
		self.assertEqual(10, len(get_sub_types_by_typeid(self.org_type.id)))
		self.assertEqual(0, len(get_sub_types_by_typeid(self.org_type.id, is_public=True)))

	def tearDown(self):
		pass
Example #31
0
def create_practice():
    practice = PracticeLocation(practice_name='USA practice',
                                practice_address1='555 Pleasant Pioneer Grove',
                                practice_address2='Trailer Q615',
                                practice_city='Mountain View',
                                practice_state='CA',
                                practice_zip='94040-4104',
                                practice_lat=37.36876,
                                practice_longit=-122.081864)
    practice.save()
    return practice
Example #32
0
def create_practice():
	practice = PracticeLocation(
			practice_name='USA practice',
			practice_address1='555 Pleasant Pioneer Grove',
			practice_address2='Trailer Q615',
			practice_city='Mountain View',
			practice_state='CA',
			practice_zip='94040-4104',
			practice_lat=37.36876,
			practice_longit=-122.081864)
	practice.save()
	return practice
Example #33
0
    def testProfile(self):
        phys = Physician(user=self.user)
        phys.save()
        data = {
            'username': get_random_username(),
            'first_name': 'c',
            'last_name': 'tian',
            'mobile_phone': 9001111111,
            'gender': 'M',
            'old_email': '*****@*****.**',
            'email': '*****@*****.**',
            'lat': 0.0,
            'longit': 0.0,
            'address1': 'address1',
            'address2': 'address2',
            'city': 'Chicago',
            'state': 'IL',
            'zip': 60601,
            'user_type': 1,
            'office_lat': 41.885805,
            'office_longit': -87.6229106,
        }

        response = self.client.post(reverse\
          ('MHLogin.api.v1.views_account.profile'), data,**self.extra)
        self.assertEqual(response.status_code, 200, response.status_code)
        msg = json.loads(response.content)
        self.assertEqual(len(msg), 2)

        site = Site(name='mysite',
                    address1='555 Pleasant Pioneer Grove',
                    address2='Trailer Q615',
                    city='Mountain View',
                    state='CA',
                    zip='94040-4104',
                    lat=37.36876,
                    longit=-122.081864,
                    short_name='MSite')
        site.save()
        practice = PracticeLocation(
            practice_name='test',
            practice_longit='0.1',
            practice_lat='0.0',
        )
        practice.save()
        self.user.current_site = site
        self.user.current_practice = practice
        self.user.save()
        response = self.client.get(reverse\
          ('MHLogin.api.v1.views_account.profile'), data,**self.extra)
        self.assertEqual(response.status_code, 200, response.status_code)
        msg = json.loads(response.content)
        self.assertEqual(len(msg), 2)
Example #34
0
    def setUpClass(cls):
        clean_db_datas()
        organization_type = create_org_type()
        practice = PracticeLocation(practice_name='test',
                                    practice_longit='0.1',
                                    practice_lat='0.0',
                                    mdcom_phone='8005550085',
                                    organization_type=organization_type)
        practice.save()
        cls.practice = practice

        user = create_user('practicemgr1', 'lin', 'xing', 'demo')
        cls.user = user
Example #35
0
	def setUpClass(cls):
		clean_db_datas()
		organization_type = create_org_type()
		practice = PracticeLocation(practice_name='test',
								practice_longit='0.1',
								practice_lat='0.0',
								mdcom_phone='8005550085',
								organization_type=organization_type)
		practice.save()
		cls.practice = practice

		user = create_user('practicemgr1', 'lin', 'xing', 'demo')
		cls.user = user
Example #36
0
	def test_isMultiCallGroupManager(self):
		#init practice and call group
		call_group = CallGroup(description='test', team='team')
		call_group.save()
		
		practice = PracticeLocation(practice_name='test',
								practice_longit='0.1',
								practice_lat='0.0',)
		practice.save()
		practice.call_groups.add(call_group)
		
		user = create_user('user1', 'us', 'er', 'demo')
		
		#only mhluser call method
		result = isMultiCallGroupManager(user, practice.id, call_group.id)
		self.assertEqual(result, False)
		
		#staff call method
		staff = OfficeStaff(user=user)
		staff.save()
		result = isMultiCallGroupManager(user, call_group.id, practice.id)
		self.assertEqual(result, False)
		
		practice2 = PracticeLocation(practice_name='test2',
								practice_longit='0.1',
								practice_lat='0.0',)
		practice2.save()
		practice2.call_groups.add(call_group)
		
		#manager call method
		staff.practices.add(practice)
		staff.save()
		manager = Office_Manager(user=staff, practice=practice, manager_role=1)
		manager.save()
		result = isMultiCallGroupManager(user, call_group.id, practice.id)
		self.assertEqual(result, True)
		
		#manager with specialty call method
		specialty_name = 'Specialty A'
		specialty1 = Specialty()
		specialty1.name = specialty_name
		specialty1.practice_location = practice
		specialty1.number_selection = 3
		specialty1.save()
		specialty1.call_groups.add(call_group)
		
		manager2 = Office_Manager(user=staff, practice=practice2, manager_role=1)
		manager2.save()
		
		result = isMultiCallGroupManager(user, call_group.id, practice.id)
		self.assertEqual(result, True)
	def setUpClass(cls):
		clean_db_datas()
		cls.user = create_user('practicemgr1', 'lin', 'xing', 'demo', '', '', '', '',)

		group = CallGroup(description='test', team='team')
		group.save()
		cls.group = group

		practice = PracticeLocation(practice_name='test',
								practice_longit='0.1',
								practice_lat='0.0',)
		practice.save()
		practice.call_groups.add(group)
		cls.practice = practice
Example #38
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()
Example #39
0
def ct_practice(name, organization_type):
    """
	create test practice
	now this is also as organization
	"""
    practices = PracticeLocation.objects.filter(practice_name=name)
    if practices:
        return practices[0]
    practice = PracticeLocation(practice_name='name',
                                practice_longit='0.1',
                                practice_lat='0.0',
                                mdcom_phone='8005550085',
                                organization_type=organization_type)
    practice.save()

    return practice
Example #40
0
def ct_practice(name, organization_type):
	"""
	create test practice
	now this is also as organization
	"""
	practices = PracticeLocation.objects.filter(practice_name=name)
	if practices:
		return practices[0]
	practice = PracticeLocation(practice_name='name',
							practice_longit='0.1',
							practice_lat='0.0',
							mdcom_phone='8005550085',
							organization_type=organization_type)
	practice.save()

	return practice
Example #41
0
	def testGetDComNumber(self):
		user = create_user(get_random_username(), "tian", "thj", "demo", "555 Bryant St.",
								"Palo Alto", "CA", "", uklass=OfficeStaff)
		user.mdcom_phone = '9001234123'
		user.save()
		practice = PracticeLocation(practice_name='test',
								practice_longit='0.1',
								practice_lat='0.0',)
		practice.save()
		mgr = Office_Manager(user=user, practice=practice, manager_role=2)
		mgr.save()
		response = self.client.get(reverse\
				('MHLogin.api.v1.views_account.getDComNumber'), **self.extra)
		self.assertEqual(response.status_code, 200, response.status_code)
		msg = json.loads(response.content)
		self.assertEqual(len(msg), 2)
	def test_display_scheduler_nopractice(self):
		dataEmpty = {}
		staff = OfficeStaff(user=self.user)
		staff.save()
		staff.practices.add(self.practice)
		manager = Office_Manager(user=staff, practice=self.practice, manager_role=2)
		manager.save()
		practice2 = PracticeLocation(practice_name='test2',
								practice_longit='0.1',
								practice_lat='0.0',)
		practice2.save()
		manager.practice = practice2
		manager.save()
		response = self.client.get(reverse('MHLogin.MHLCallGroups.Scheduler.'\
			'views_multicallgroup.display_scheduler', args=(practice2.id, 0)), data=dataEmpty)
		self.assertEqual(response.status_code, 200)
		self.assertTemplateUsed(response, 'error_multicallgroup.html')
Example #43
0
	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()
Example #44
0
def create_organization_not_member(org_type=None):
	org_setting = OrganizationSetting()
	org_setting.save()
	org_type = OrganizationType(name="Test Org Type", 
		organization_setting=org_setting, is_public=True)
	organization_not_member = PracticeLocation(
		practice_name="Test2",
		practice_address1='555 Pleasant Pioneer Grove',
		practice_address2='Trailer Q615',
		practice_city='Mountain View',
		practice_state='CA',
		practice_zip='94040-4104',
		practice_lat=37.36876,
		practice_longit=-122.081864)
	if org_type:
			organization_not_member.organization_type = org_type
	organization_not_member.save()
	return organization_not_member
Example #45
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()
Example #46
0
    def test_checkMultiCallGroupId(self):
        #init practice and call group
        call_group = CallGroup(description='test', team='team')
        call_group.save()

        practice = PracticeLocation(
            practice_name='test',
            practice_longit='0.1',
            practice_lat='0.0',
        )
        practice.save()
        practice.call_groups.add(call_group)

        #pass a valid parameter
        result = checkMultiCallGroupId(practice.id, call_group.id)
        self.assertEqual(call_group.id, result)

        #practice not exist
        #		result = checkMultiCallGroupId(117, 0)
        #		self.assertRaises(PracticeLocation.DoesNotExist, result)

        #pass a invalid call group parameter
        result = checkMultiCallGroupId(practice.id, 0)
        self.assertEqual(call_group.id, result)

        #ther is a specialty
        practice2 = PracticeLocation(
            practice_name='test2',
            practice_longit='0.1',
            practice_lat='0.0',
        )
        practice2.save()

        specialty_name = 'Specialty A'
        specialty1 = Specialty()
        specialty1.name = specialty_name
        specialty1.practice_location = practice2
        specialty1.number_selection = 3
        specialty1.save()
        specialty1.call_groups.add(call_group)

        result = checkMultiCallGroupId(practice2.id, 0)
        self.assertEqual(call_group.id, result)
Example #47
0
    def test_mail_managers(self):
        practice = PracticeLocation(
            practice_address1='555 Pleasant Pioneer Grove',
            practice_address2='Trailer Q615',
            practice_city='Mountain View',
            practice_state='CA',
            practice_zip='94040-4104',
            practice_lat=37.36876,
            practice_longit=-122.081864)
        practice.save()
        subject = 'abc'
        body = 'test'
        sender = None

        result = mail_managers(practice, subject, body, sender)
        self.assertIsNone(result)

        sender = '*****@*****.**'
        result = mail_managers(practice, subject, body, sender)
        self.assertIsNone(result)
Example #48
0
	def test_mail_managers(self):
		practice = PracticeLocation(
			practice_address1='555 Pleasant Pioneer Grove',
			practice_address2='Trailer Q615',
			practice_city='Mountain View',
			practice_state='CA',
			practice_zip='94040-4104',
			practice_lat=37.36876,
			practice_longit= -122.081864)
		practice.save()
		subject = 'abc'
		body = 'test'
		sender = None
		
		result = mail_managers(practice, subject, body, sender)
		self.assertIsNone(result)
		
		sender = '*****@*****.**'
		result = mail_managers(practice, subject, body, sender)
		self.assertIsNone(result)
Example #49
0
	def test_canAccessMultiCallGroup(self):
		#init practice and call group
		call_group = CallGroup(description='test', team='team')
		call_group.save()
		
		practice = PracticeLocation(practice_name='test',
								practice_longit='0.1',
								practice_lat='0.0',)
		practice.save()
		practice.call_groups.add(call_group)
		
		#admin call this method
		admin = create_user('user-access-group2', 'us', 'er', 'demo', '', '', '', '', Administrator)
		result = canAccessMultiCallGroup(admin.user, call_group, practice.id)
		self.assertEqual(result, True)
		
		#not admin call this method
		user = create_user('user-access-group', 'us', 'er', 'demo')
		result = canAccessMultiCallGroup(user, call_group, practice.id)
		self.assertEqual(result, False)
Example #50
0
	def testSetOfficeStaffResultList(self):
# 		create office staff
		staff = create_office_staff(get_random_username(), "staff", "thj", "demo",
						"555 Bryant St.", "Palo Alto", "CA", "", uklass=OfficeStaff)
		staff2 = create_office_staff(get_random_username(), "nurse", "thj", "demo",
						"555 Bryant St.", "Palo Alto", "CA", "", uklass=OfficeStaff)
		nurse = Nurse(user=staff2)
		nurse.save()
		staff3 = create_office_staff(get_random_username(), "maneger", "thj", "demo",
						"555 Bryant St.", "Palo Alto", "CA", "", uklass=OfficeStaff)
		mgr = Office_Manager(user=staff3)
		practice = PracticeLocation(
			practice_address1='555 Pleasant Pioneer Grove',
			practice_address2='Trailer Q615',
			practice_city='Mountain View',
			practice_state='CA',
			practice_zip='94040-4104',
			practice_lat=37.36876,
			practice_longit=-122.081864)
		practice.save()
		mgr.manager_role = 1
		mgr.practice = practice
		mgr.save()

		mhlu = create_user(get_random_username(), "mhluser", "thj", "demo", 
						"555 Bryant St.", "Palo Alto", "CA", "")
		mhlu.mdcom_phone = '9002000001'
		mhlu.save()

		self.assertEqual(0, len(setOfficeStaffResultList([])), 
						'test failed for setOfficeStaffResultList null')
		self.assertEqual(1, len(setOfficeStaffResultList([staff])), 
						'test failed for setOfficeStaffResultList staff')
# 		self.assertEqual(1, len(setOfficeStaffResultList([nurse])), 
						#'test failed for setOfficeStaffResultList nurse')
		self.assertEqual(1, len(setOfficeStaffResultList([mgr])), 
						'test failed for setOfficeStaffResultList mgr')
		self.assertEqual(3, len(setOfficeStaffResultList([staff, nurse.user, mgr])), 
						'test failed for setOfficeStaffResultList')
		self.assertEqual(3, len(setOfficeStaffResultList([staff, nurse.user, mgr], staff)), 
						'test failed for setOfficeStaffResultList')
Example #51
0
	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()
Example #52
0
	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()
Example #53
0
	def setUp(self):
		clean_db_datas()
		org_setting = OrganizationSetting(can_have_physician=True)
		org_setting.save()
		self.org_setting = org_setting
		org_type = OrganizationType(name="Test Org Type", 
			organization_setting=org_setting, is_public=True)
		org_type.save()
		self.org_type = org_type

		practice = PracticeLocation(practice_name='test',
						practice_longit='0.1',
						practice_lat='0.0',
						organization_type=org_type,
						organization_setting=org_setting,)
		practice.save()
		self.practice = practice

		user = create_user('admin', 'Morris', 'Kelly', 'demo', uklass=Administrator)
		user.save()
		self.client.post('/login/', {'username': user.user.username, 'password': '******'})
Example #54
0
    def test_get_practices_by_position(self):
        lat = 0.0
        longit = 0.0
        distance = None
        result = get_practices_by_position(lat, longit, distance)
        self.assertEqual(len(result), 0)

        lat = 12.1
        longit = 12.0
        distance = 2
        result = get_practices_by_position(lat, longit, distance)
        self.assertEqual(len(result), 0)

        try:
            org_type = OrganizationType.objects.get(
                pk=RESERVED_ORGANIZATION_TYPE_ID_PRACTICE)
        except OrganizationType.DoesNotExist:
            setting = OrganizationSetting()
            setting.save()
            org_type = OrganizationType(
                pk=RESERVED_ORGANIZATION_TYPE_ID_PRACTICE,
                organization_setting=setting)
            org_type.save()

        location = PracticeLocation(
            practice_address1='555 Pleasant Pioneer Grove',
            practice_address2='Trailer Q615',
            practice_city='Mountain View',
            practice_state='CA',
            practice_zip='94040-4104',
            practice_lat=37.36876,
            practice_longit=-122.081864,
            organization_type=org_type)
        location.save()

        lat = 37
        longit = -122.0
        distance = None
        result = get_practices_by_position(lat, longit, distance)
        self.assertEqual(len(result), 1)
Example #55
0
    def test_canAccessMultiCallGroup(self):
        #init practice and call group
        call_group = CallGroup(description='test', team='team')
        call_group.save()

        practice = PracticeLocation(
            practice_name='test',
            practice_longit='0.1',
            practice_lat='0.0',
        )
        practice.save()
        practice.call_groups.add(call_group)

        #admin call this method
        admin = create_user('user-access-group2', 'us', 'er', 'demo', '', '',
                            '', '', Administrator)
        result = canAccessMultiCallGroup(admin.user, call_group, practice.id)
        self.assertEqual(result, True)

        #not admin call this method
        user = create_user('user-access-group', 'us', 'er', 'demo')
        result = canAccessMultiCallGroup(user, call_group, practice.id)
        self.assertEqual(result, False)
Example #56
0
    def test_changeCurrentPracticeForStaff(self, start_thread):
        practice = PracticeLocation(
            practice_address1='555 Pleasant Pioneer Grove',
            practice_address2='Trailer Q615',
            practice_city='Mountain View',
            practice_state='CA',
            practice_zip='94040-4104',
            practice_lat=37.36876,
            practice_longit=-122.081864)
        practice.save()
        user = create_user('practicemgr1', 'lin', 'xing', 'demo')
        staff = OfficeStaff(user=user)
        staff.save()
        result = changeCurrentPracticeForStaff(practice.id, user.pk)
        self.assertEqual(result, practice)

        try:
            changeCurrentPracticeForStaff(0, user.pk)
        except:
            PracticeLocation.DoesNotExist
        try:
            result = changeCurrentPracticeForStaff(practice.id, 0)
        except:
            MHLUser.DoesNotExist
Example #57
0
def create_multiple_organizations(num=10, org_type=None):
	orgs = []
	if not org_type:
		org_setting = OrganizationSetting()
		org_setting.save()
		org_type = OrganizationType(name="Test Org Type2", 
			organization_setting=org_setting, is_public=True)
		org_type.save()

	for i in xrange(num):
		practice_name = "".join(["Test1_", str(i)])
		_organization = PracticeLocation(
			practice_name=practice_name,
			practice_address1='555 Pleasant Pioneer Grove',
			practice_address2='Trailer Q615',
			practice_city='Mountain View',
			practice_state='CA',
			practice_zip='94040-4104',
			practice_lat=37.36876,
			practice_longit=-122.081864,
			organization_type=org_type)
		_organization.save()
		orgs.append(_organization)
	return orgs
Example #58
0
class GetOrgMembersTest(TestCase):
    org_staff = []
    org_providers = []
    org = None
    staff = None
    provider = None

    def setUp(self):
        clean_db_datas()

        org_setting = OrganizationSetting()
        org_setting.save()
        org_type = OrganizationType(name="Test Org Type",
                                    organization_setting=org_setting,
                                    is_public=True)
        org_type.save()
        self.org = PracticeLocation(
            practice_name="Test1",
            practice_address1='555 Pleasant Pioneer Grove',
            practice_address2='Trailer Q615',
            practice_city='Mountain View',
            practice_state='CA',
            practice_zip='94040-4104',
            practice_lat=37.36876,
            practice_longit=-122.081864)
        self.org.organization_type = org_type
        self.org.save()

        for i in range(10):
            user_name = "".join(["Staff1_", str(i)])
            first_name = "".join(["Test1_", str(i)])
            user = create_user(user_name,
                               first_name,
                               'S',
                               'demo',
                               uklass=OfficeStaff)
            self.org_staff.append(user)

            # IntegrityError: column username is not unique
#			provider_name = "".join(["Pravider1_", str(i)])
#			pro = create_user(provider_name, 'Provider', 'P', 'demo', uklass=Provider)
#			self.org_providers.append(pro)

        self.staff = create_user("Staff2",
                                 'Test2',
                                 'S',
                                 'demo',
                                 uklass=OfficeStaff)
        self.staff.save()
        self.provider = create_user("Pravider2",
                                    'Provider',
                                    'P',
                                    'demo',
                                    uklass=Provider)
        self.provider.save()

    def testGetOrgMembers(self):
        user_ids = []
        staff_user_ids = []
        provider_user_ids = []
        for usr in self.org_staff:
            usr.practices.add(self.org)
            usr.save()
            user_ids.append(usr.user.id)
            staff_user_ids.append(usr.user.id)

        for usr in self.org_providers:
            usr.practices.add(self.org)
            usr.save()
            user_ids.append(usr.user.id)
            provider_user_ids.append(usr.user.id)

        members = getOrgMembers(self.org.id)
        member_ids = [p.user.id for p in members]
        self.assertListEqual(user_ids, member_ids)

        self.assertNotIn(self.provider.user.id, member_ids)
        self.assertNotIn(self.staff.user.id, member_ids)

        self.assertEqual(0, len(get_org_staff(self.org.id,
                                              user_name="Staff2")))
        self.assertEqual(1, len(get_org_staff(self.org.id,
                                              user_name="Test1_1")))

        for id in user_ids:
            self.assertTrue(is_user_in_this_org(self.org.id, user_id=id))
        self.assertFalse(
            is_user_in_this_org(self.org.id, user_id=self.staff.user.id))
        self.assertFalse(is_user_in_this_org(self.org.id, user_name="Staff2"))
        self.assertFalse(
            is_user_in_this_org(self.org.id, user_name="Provider2"))

    def tearDown(self):
        pass
Example #59
0
	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