def _assert_search_by_location(self, test_location, delta_in_km): distance = distance_from_location(self.current_location, test_location) results_1, _, _ = search(query="Job", location=self.current_location, distance=distance + delta_in_km) results_2, _, _ = search(query="Job", location=self.current_location, distance=distance - delta_in_km) self.assertEquals(2, len(results_1)) self.assertEquals(1, len(results_2))
def test_search_get_specific_page(self): results, total, pages = search(page=0, limit=2) self.assertEquals(2, len(results)) self.assertEquals(3, total) self.assertEquals(2, pages) results, total, pages = search(page=1, limit=2) self.assertEquals(1, len(results)) self.assertEquals(3, total) self.assertEquals(2, pages)
def api_search(): query = request.args.get('query') job_type = request.args.get('job_type') rate_type = request.args.get('rate_type') page = request.args.get('page') page = int(page) if page else None limit = request.args.get('limit') limit = int(limit) if limit else None location = _get_coordinates() distance = _get_distance() results, total, pages = search(query=query, job_type=job_type, rate_type=rate_type, location=location, distance=distance, page=page, limit=limit) query = { 'query': query, 'job_type': job_type, 'rate_type': rate_type, 'location': location, 'distance': distance, 'page': page, 'limit': limit } return {"jobs": results, "query": query, "total": total, "pages": pages}
def test_search_jobs_returns_hiring_managers_list_without_password(self): results, _, _ = search() for result in results: self.assertGreater(len(result['company']['hiring_managers']), 0) for hiring_manager in result['company']['hiring_managers']: self.assertIsNone(hiring_manager.get('password'))
def test_search_return_no_results_if_requested_empty_page(self): results, total, pages = search(page=100) self.assertEquals(0, len(results)) self.assertEquals(3, total) self.assertEquals(1, pages)
def test_search_return_total_results_and_pages(self): _, total, pages = search() self.assertEquals(3, total) self.assertEquals(1, pages)
def test_search_jobs_no_results(self): results, total, pages = search('NOTHING') self.assertEqual(0, len(results)) self.assertEquals(0, total) self.assertEquals(0, pages)
def _assert_search(self, expected_jobs, comparator='title', **search_params): results, _, _ = search(**search_params) self.assertEquals([j[comparator] for j in expected_jobs], [r[comparator] for r in results])