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)