def test_basic_planningChangeForm_4_days(self):
		"""
		Test get user for PlanningSwapForm on 4 days
			user = 3
			service = 1
			day = today + 2
			timestamp = 1
		"""
		self.fill_planning_test1()
		test = PlanningSwapForm(doctor_id=3,planning_id=8)
		result = []
		result.append( 
			UserSwap(
				doctors.objects.get(id = 1 )
				).setSwapInfo( 
					( datetime.date.today(), 2)  ,8) )
		result.append(
			UserSwap(
				doctors.objects.get(id = 1 )
				).setSwapInfo(  
					( datetime.date.today(), 1)  ,8) )
		result.append(
			UserSwap(
				doctors.objects.get(id = 1 )
				).setSwapInfo( 
					( datetime.date.today() + timedelta( days = 3), 2 ) ,8) )
		result.append(
			UserSwap(
				doctors.objects.get(id = 1 )
				).setSwapInfo(  
					( datetime.date.today() + timedelta( days = 2), 2 ) ,8) )
		result.append(
			UserSwap(
				doctors.objects.get(id = 2 )
				).setSwapInfo(  
					( datetime.date.today() + timedelta( days = 1), 3 )  ,8) )
		result.append(
			UserSwap(
				doctors.objects.get(id = 2 )
				).setSwapInfo(
					( datetime.date.today() + timedelta( days = 2), 3 )  ,8) )
		result.append(
			UserSwap(
				doctors.objects.get(id = 2 )
				).setSwapInfo(
					( datetime.date.today() + timedelta( days = 1), 1 )  ,8) )
		result.append(
			UserSwap(
				doctors.objects.get(id = 4 )
				).setSwapInfo(
					( datetime.date.today() + timedelta( days = 1), 2 )  ,8) )
		result.append(
			UserSwap(
				doctors.objects.get(id = 4 )
				).setSwapInfo(  
					( datetime.date.today() + timedelta( days = 3), 3 )  ,8) )
		
		self.assertEqual(9, len(getUserSwapForPlanningSwap(3,8)))
		self.assertEqual(result, getUserSwapForPlanningSwap(3,8))
	def test_basic_planningChangeForm_fake_planning(self):
		"""
		Test get user for PlanningSwapForm fake planning id
		"""
		self.fill_planning_simple_test1()
		test = PlanningSwapForm(doctor_id=40,planning_id=2)
		self.assertEqual(0, len(getUserSwapForPlanningSwap(40,2)))
	def test_basic_PlanningSwapForm_multiservices(self):
		"""
		Test get user for PlanningSwapForm
			user = 2
			service = 1
			day = today
			timestamp = 1
		"""
		self.fill_planning_simple_test3()
		test = PlanningSwapForm(doctor_id=2,planning_id=2)
		self.assertEqual(2, len(getUserSwapForPlanningSwap(2,2)))
	def test_basic_PlanningSwapForm_not_multiservices(self):
		"""
		Test get user for PlanningSwapForm no entry
			user = 1
			service = 1
			day = today
			timestamp = 1
		"""
		self.fill_planning_simple_test2()
		test = PlanningSwapForm(doctor_id=1,planning_id=1)
		self.assertEqual(0, len(getUserSwapForPlanningSwap(1,1)))
	def test_basic_PlanningSwapForm_not_good_service1(self):
		"""
		Test get user for PlanningSwapForm no entry
			user = 2
			service = 2
			day = today
			timestamp = 1
		"""
		self.fill_planning_simple_test1()
		test = PlanningSwapForm(doctor_id=2,planning_id=2)
		self.assertEqual(0, len(getUserSwapForPlanningSwap(2,2)))
	def test_basic_PlanningSwapForm(self):
		"""
		Test get user for PlanningSwapForm
			user = 1
			service = 1
			day = today
			timestamp = 1
		"""
		self.fill_planning_simple_test1()
		test = PlanningSwapForm(doctor_id=1,planning_id=1)
		result = []
		result.append(
			UserSwap(doctors.objects.get(id = 3 )
				).setSwapInfo(  
					( datetime.date.today(), 3)  ,1) )
		result.append(
			UserSwap(doctors.objects.get(id = 4 )
				).setSwapInfo(  
					( datetime.date.today(), 2)  ,1) )
		
		self.assertEqual(2, len(getUserSwapForPlanningSwap(1,1)))
		self.assertEqual(result, getUserSwapForPlanningSwap(1,1))
Beispiel #7
0
	def __init__(self, *args, **kwargs):
		""" override init method to get users to swap """
		doctor_id = kwargs.pop('doctor_id')
		planning_id = kwargs.pop('planning_id')	
		super(PlanningSwapForm, self).__init__(*args, **kwargs)
		users_choice = getUserSwapForPlanningSwap( current_user = doctor_id, planning_id = planning_id )
		list_choice = {}
		for user_choice in users_choice:
			key = str( user_choice.date) + ' ('+user_choice.description+ ')'
			if key in list_choice:
				list_choice[key].append( (str(user_choice.planning_swap), 
								user_choice.service_desc + ' : '+user_choice.username)
											)
			else:
				list_choice[key] = [ (str(user_choice.planning_swap),
										 user_choice.service_desc + ' : '+user_choice.username)]
			
		final_list = []
		for iterator in list_choice:
			final_list.append( (iterator, tuple(list_choice[iterator])) )
		#self.fields['planning_swap'].choices = [ i.marshall() for i in users_choice ]
		self.fields['planning_swap'].choices = final_list