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))
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
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}
Exemplo n.º 4
0
    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'))
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
 def test_search_return_total_results_and_pages(self):
     _, total, pages = search()
     self.assertEquals(3, total)
     self.assertEquals(1, pages)
Exemplo n.º 7
0
 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)
Exemplo n.º 8
0
 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])