-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_query_state.py
More file actions
68 lines (47 loc) · 1.75 KB
/
test_query_state.py
File metadata and controls
68 lines (47 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import pytest
from mpt_api_client.http.query_state import QueryState
@pytest.fixture
def query_state():
return QueryState()
def test_filter_init(filter_status_active):
result = QueryState(
rql=filter_status_active, select=["agreement", "-product"], order_by=["-created", "name"]
)
assert result.filter == filter_status_active
assert result.select == ["agreement", "-product"]
assert result.order_by == ["-created", "name"]
def test_build_url(filter_status_active):
query_state = QueryState(
rql=filter_status_active,
select=["-audit", "product.agreements", "-product.agreements.product"],
order_by=["-created", "name"],
render=False,
)
result = query_state.build()
assert result == (
"order=-created,name"
"&select=-audit,product.agreements,-product.agreements.product"
"&eq(status,'active')"
)
def test_build_url_with_render(filter_status_active):
query_state = QueryState(
rql=filter_status_active,
select=["-audit", "product.agreements", "-product.agreements.product"],
order_by=["-created", "name"],
render=True,
)
result = query_state.build()
assert result == (
"order=-created,name"
"&select=-audit,product.agreements,-product.agreements.product"
"&eq(status,'active')"
"&render()"
)
def test_empty_build(query_state):
result = query_state.build()
assert not result
def test_build_with_params(filter_status_active):
query_state = QueryState(rql=filter_status_active, order_by=["created"], select=["name"])
query_params = {"limit": "10"}
result = query_state.build(query_params)
assert result == "limit=10&order=created&select=name&eq(status,'active')"