Beispiel #1
0
def search_anime():
    params = request.args
    # Validation
    validation = anime_helper.validate_search_params(params)
    if validation is not None:
        return validation
    # API Connection
    search_result = anime_helper.jikan_api_search(params)
    if type(search_result) != list:
        return search_result
    # Map result
    searched_animes = [mapper.searched_anime_mapper(
        anime).dict() for anime in search_result]
    # Return results
    return jsonify(searched_animes)
 def test_validate_search_params_wrong_4(self):
     params = {"query": "jojo", "limit": "string"}
     result = anime_helper.validate_search_params(params)
     self.assertEquals(result.status, '400 BAD REQUEST')
     self.assertEquals(result.data,
                       b"Please enter a valid integer as your limit.")
 def test_validate_search_params_wrong_1(self):
     params = {"limit": 3}
     result = anime_helper.validate_search_params(params)
     self.assertEquals(result.status, '400 BAD REQUEST')
     self.assertEquals(result.data, b"Please enter a query string")
 def test_validate_search_params_wrong_3(self):
     params = {"query": "jo", "limit": 3}
     result = anime_helper.validate_search_params(params)
     self.assertEquals(result.status, '400 BAD REQUEST')
     self.assertEquals(result.data,
                       b"Query string must be at least 3 characters long")
 def test_validate_search_params_correct(self):
     params = {"query": "jojo", "limit": "3"}
     result = anime_helper.validate_search_params(params)
     self.assertIsNone(result)