def trade_activity_template(gte=None, lte=None): gte_lte = {'gte': gte, 'lte': lte} return full_es_query({ "or": [{ "has_child": { "filter": { "and": [{ "range": { "import_date": gte_lte } }] }, "type": "import_events" } }, { "has_child": { "filter": { "and": [{ "range": { "date": gte_lte } }] }, "type": "export_events" } }] })
def test_boolean_true(): url = "/v1/company_query_builder?ecommerce=true" response = get_es_query(url) assert response == full_es_query( {'term': { 'ecommerce.is_ecommerce': True }})
def revenue_range_template(gte=None, lte=None): gte_lte = dict() if gte: gte_lte['gte'] = gte if lte: gte_lte['lte'] = lte return full_es_query({ "nested": { "filter": { "bool": { "must": [{ "range": { "financial_filters.revenue": gte_lte } }] } }, "path": "financial_filters" } })
def test_boolean_false(): url = "/v1/company_query_builder?ecommerce=false" response = get_es_query(url) assert response == full_es_query(None)
def test_one_value(): url = "/v1/company_query_builder?cid=1" response = get_es_query(url) assert response == full_es_query({'terms': {'cid': ['1']}})
def test_multiple_values(): url = "/v1/company_query_builder?cid=1&cid=2&cid=100" response = get_es_query(url) assert response == full_es_query({'terms': {'cid': ['1', '2', '100']}})