def list_sign_up(request, event_id, volunteer_id): if event_id: event = get_event_by_id(event_id) if request.method == 'POST': form = SearchJobForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] start_date = form.cleaned_data['start_date'] end_date = form.cleaned_data['end_date'] city = form.cleaned_data['city'] state = form.cleaned_data['state'] country = form.cleaned_data['country'] search_result = search_jobs(name, start_date, end_date, city, state, country, '') search_result_list = search_result.filter(event_id=event_id) else: form = SearchJobForm() search_result_list = get_jobs_by_event_id(event_id) job_list = remove_empty_jobs_for_volunteer(search_result_list, volunteer_id) return render( request, 'job/list_sign_up.html', { 'form': form, 'job_list': job_list, 'volunteer_id': volunteer_id, 'event': event, }) else: raise Http404
def test_search_jobs(self): """ tests search result for partial, exact and other searches on events """ # if no search parameters are given, # it returns all jobs search_list = search_jobs("", "", "", "", "", "", "") self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 3) self.assertIn(self.j1, search_list) self.assertIn(self.j2, search_list) self.assertIn(self.j3, search_list) search_list = search_jobs(None, None, None, None, None, None, None) self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 3) self.assertIn(self.j1, search_list) self.assertIn(self.j2, search_list) self.assertIn(self.j3, search_list) # test exact search e1.city = 'job-city' e1.state = 'job-state' e1.country = 'job-country' e1.save() search_list = search_jobs('Software Developer', '2012-10-22', '2012-10-25', 'job-city', 'job-state', 'job-country', 'Software Conference') self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 1) self.assertIn(self.j1, search_list) self.assertNotIn(self.j2, search_list) self.assertNotIn(self.j3, search_list) # test partial search search_list = search_jobs("Systems Administrator", None, None, None, None, None, None) self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 1) self.assertIn(self.j2, search_list) self.assertNotIn(self.j3, search_list) self.assertNotIn(self.j1, search_list) e2.city = 'job-city' e2.save() search_list = search_jobs(None, None, None, 'job-city', None, None, None) self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 3) self.assertIn(self.j1, search_list) self.assertIn(self.j2, search_list) self.assertIn(self.j3, search_list) # test no search matches search_list = search_jobs("Billy", "2015-07-25", "2015-08-08", "Quebec", "Canada", "Ubisoft", "Program") self.assertEqual(len(search_list), 0) self.assertNotIn(self.j1, search_list) self.assertNotIn(self.j2, search_list) self.assertNotIn(self.j3, search_list)
def post(self, request, *args, **kwargs): search_result_list = get_jobs_ordered_by_title() form = SearchJobForm(self.request.POST) if form.is_valid(): name = form.cleaned_data['name'] start_date = form.cleaned_data['start_date'] end_date = form.cleaned_data['end_date'] city = form.cleaned_data['city'] state = form.cleaned_data['state'] country = form.cleaned_data['country'] event = form.cleaned_data['event'] search_result_list = search_jobs(name, start_date, end_date, city, state, country, event) return render(request, 'job/list.html', { 'form': form, 'search_result_list': search_result_list, })
def post(self, request, *args, **kwargs): search_result_list = get_jobs_ordered_by_title() form = SearchJobForm(self.request.POST) if form.is_valid(): name = form.cleaned_data['name'] start_date = form.cleaned_data['start_date'] end_date = form.cleaned_data['end_date'] city = form.cleaned_data['city'] state = form.cleaned_data['state'] country = form.cleaned_data['country'] event = form.cleaned_data['event'] search_result_list = search_jobs(name, start_date, end_date, city, state, country, event) return render(request, 'job/list.html', { 'form': form, 'search_result_list': search_result_list })
def test_search_jobs(self): """ tests search result for partial, exact and other searches on events """ # if no search parameters are given, # it returns all jobs search_list = search_jobs("", "", "", "", "", "", "") self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 3) self.assertIn(self.j1, search_list) self.assertIn(self.j2, search_list) self.assertIn(self.j3, search_list) search_list = search_jobs(None, None, None, None, None, None, None) self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 3) self.assertIn(self.j1, search_list) self.assertIn(self.j2, search_list) self.assertIn(self.j3, search_list) # test exact search country_name = 'India' state_name = 'Uttarakhand' city_name = 'Roorkee' country = get_country_by_name(country_name) state = get_state_by_name(state_name) city = get_city_by_name(city_name) e1.city = city e1.state = state e1.country = country e1.save() search_list = search_jobs('Software Developer', '2012-10-22', '2012-10-25', 'Roorkee', 'Uttarakhand', 'India', 'Software Conference') self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 1) self.assertIn(self.j1, search_list) self.assertNotIn(self.j2, search_list) self.assertNotIn(self.j3, search_list) # test partial search search_list = search_jobs("Systems Administrator", None, None, None, None, None, None) self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 1) self.assertIn(self.j2, search_list) self.assertNotIn(self.j3, search_list) self.assertNotIn(self.j1, search_list) e2.city = city e2.save() search_list = search_jobs(None, None, None, 'Roorkee', None, None, None) self.assertNotEqual(search_list, False) self.assertEqual(len(search_list), 3) self.assertIn(self.j1, search_list) self.assertIn(self.j2, search_list) self.assertIn(self.j3, search_list) # test no search matches search_list = search_jobs("Billy", "2015-07-25", "2015-08-08", "Quebec", "Canada", "Ubisoft", "Program") self.assertEqual(len(search_list), 0) self.assertNotIn(self.j1, search_list) self.assertNotIn(self.j2, search_list) self.assertNotIn(self.j3, search_list)