def diff_searches_route(): """ Get searches diff --- tags: - search parameters: - in: query name: first_search_id required: true schema: type: string - in: query name: second_search_id required: true schema: type: string responses: 200: description: products data; {'errors': false, 'result': []} 400: description: errors; {'errors': true, **errors} """ url_query = request.args result, code = diff_searches_controller(url_query=url_query) return jsonify(result), code
def test_diff_searches_controller_identical_id(self, diff_searches_service): """ Test diff searches controller if 'first_search_id' == 'second_search_id' """ url_query: dict = {'first_search_id': 2, 'second_search_id': 2} data, status_code = diff_searches_controller(url_query=url_query) self.assertEqual(400, status_code) self.assertEqual({'errors': True, 'identical_ids': True}, data)
def test_diff_searches_controller_without_first_search_id( self, diff_searches_service): """ Test diff searches controller if 'first_search_id' not given """ url_query: dict = {'second_search_id': 2} data, status_code = diff_searches_controller(url_query=url_query) self.assertEqual(400, status_code) self.assertEqual({'errors': True, 'first_search_id': False}, data)
def test_diff_searches_controller_invalid_query(self, diff_searches_service): """ Test diff searches controller if url query is empty """ url_query: dict = {} data, status_code = diff_searches_controller(url_query=url_query) self.assertEqual(400, status_code) self.assertEqual({'errors': True, 'url_query': False}, data)
def test_diff_searches_controller_valid_query(self, diff_searches_service): """ Test diff searches controller if url query is valid """ url_query: dict = { 'first_search_id': 1, 'second_search_id': 2, } data, status_code = diff_searches_controller(url_query=url_query) self.assertEqual(200, status_code)
def test_diff_searches_controller_string_params(self, diff_searches_service): """ Test diff searches controller if params is not a number strings """ url_query: dict = { 'first_search_id': 'first', 'second_search_id': 'second' } data, status_code = diff_searches_controller(url_query=url_query) self.assertEqual(400, status_code) self.assertEqual({'errors': True, 'search_id_type': True}, data)