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))
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