Skip to content

Commit a178943

Browse files
kafaichoispitfire55
authored andcommitted
add test for max_row directive to table
1 parent 84563c7 commit a178943

File tree

2 files changed

+113
-0
lines changed

2 files changed

+113
-0
lines changed

test/expected/max_rows_directive.out

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,65 @@ begin;
6060
{"data": {"accountCollection": {"edges": [{"node": {"id": 1}}, {"node": {"id": 2}}, {"node": {"id": 3}}, {"node": {"id": 4}}, {"node": {"id": 5}}, {"node": {"id": 6}}, {"node": {"id": 7}}, {"node": {"id": 8}}, {"node": {"id": 9}}, {"node": {"id": 10}}, {"node": {"id": 11}}, {"node": {"id": 12}}, {"node": {"id": 13}}, {"node": {"id": 14}}, {"node": {"id": 15}}, {"node": {"id": 16}}, {"node": {"id": 17}}, {"node": {"id": 18}}, {"node": {"id": 19}}, {"node": {"id": 20}}, {"node": {"id": 21}}, {"node": {"id": 22}}, {"node": {"id": 23}}, {"node": {"id": 24}}, {"node": {"id": 25}}, {"node": {"id": 26}}, {"node": {"id": 27}}, {"node": {"id": 28}}, {"node": {"id": 29}}, {"node": {"id": 30}}, {"node": {"id": 31}}, {"node": {"id": 32}}, {"node": {"id": 33}}, {"node": {"id": 34}}, {"node": {"id": 35}}, {"node": {"id": 36}}, {"node": {"id": 37}}, {"node": {"id": 38}}, {"node": {"id": 39}}, {"node": {"id": 40}}]}}}
6161
(1 row)
6262

63+
-- table-specific max_rows
64+
comment on table account is e'@graphql({"max_rows": 5})';
65+
-- expect 5 rows on first page
66+
select graphql.resolve($$
67+
{
68+
accountCollection {
69+
edges {
70+
node {
71+
id
72+
}
73+
}
74+
}
75+
}
76+
$$);
77+
resolve
78+
-------------------------------------------------------------------------------------------------------------------------------------------------------
79+
{"data": {"accountCollection": {"edges": [{"node": {"id": 1}}, {"node": {"id": 2}}, {"node": {"id": 3}}, {"node": {"id": 4}}, {"node": {"id": 5}}]}}}
80+
(1 row)
81+
82+
-- view-specific max_rows
83+
create view person as
84+
select * from account;
85+
comment on view person is e'@graphql({"primary_key_columns": ["id"], "max_rows": 3})';
86+
-- expect 3 rows on first page
87+
select graphql.resolve($$
88+
{
89+
personCollection {
90+
edges {
91+
node {
92+
id
93+
}
94+
}
95+
}
96+
}
97+
$$);
98+
resolve
99+
------------------------------------------------------------------------------------------------------------
100+
{"data": {"personCollection": {"edges": [{"node": {"id": 1}}, {"node": {"id": 2}}, {"node": {"id": 3}}]}}}
101+
(1 row)
102+
103+
-- nested view with max_rows
104+
create view parent as
105+
select * from person;
106+
comment on view parent is e'@graphql({"primary_key_columns": ["id"], "max_rows": 2})';
107+
-- expect 2 rows on first page
108+
select graphql.resolve($$
109+
{
110+
parentCollection {
111+
edges {
112+
node {
113+
id
114+
}
115+
}
116+
}
117+
}
118+
$$);
119+
resolve
120+
---------------------------------------------------------------------------------------
121+
{"data": {"parentCollection": {"edges": [{"node": {"id": 1}}, {"node": {"id": 2}}]}}}
122+
(1 row)
123+
63124
rollback;

test/sql/max_rows_directive.sql

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,56 @@ begin;
5252
}
5353
$$);
5454

55+
-- table-specific max_rows
56+
comment on table account is e'@graphql({"max_rows": 5})';
57+
58+
-- expect 5 rows on first page
59+
select graphql.resolve($$
60+
{
61+
accountCollection {
62+
edges {
63+
node {
64+
id
65+
}
66+
}
67+
}
68+
}
69+
$$);
70+
71+
-- view-specific max_rows
72+
create view person as
73+
select * from account;
74+
comment on view person is e'@graphql({"primary_key_columns": ["id"], "max_rows": 3})';
75+
76+
-- expect 3 rows on first page
77+
select graphql.resolve($$
78+
{
79+
personCollection {
80+
edges {
81+
node {
82+
id
83+
}
84+
}
85+
}
86+
}
87+
$$);
88+
89+
-- nested view with max_rows
90+
create view parent as
91+
select * from person;
92+
comment on view parent is e'@graphql({"primary_key_columns": ["id"], "max_rows": 2})';
93+
94+
-- expect 2 rows on first page
95+
select graphql.resolve($$
96+
{
97+
parentCollection {
98+
edges {
99+
node {
100+
id
101+
}
102+
}
103+
}
104+
}
105+
$$);
106+
55107
rollback;

0 commit comments

Comments
 (0)