Skip to content

Commit 40ae3ff

Browse files
committed
test: add regression test for behavior of _empty with (possibly null) scalar lists
1 parent f7e1593 commit 40ae3ff

File tree

3 files changed

+111
-10
lines changed

3 files changed

+111
-10
lines changed

spec/regression/logistics/tests/descriptions.result.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -993,7 +993,7 @@
993993
},
994994
{
995995
"name": "description_empty",
996-
"description": "Checks if `description` is an empty list (true) or a non-empty list or null (false).",
996+
"description": "Checks if `description` is an empty list (true) or a non-empty list (false).",
997997
"deprecationReason": null
998998
},
999999
{
@@ -2572,7 +2572,7 @@
25722572
},
25732573
{
25742574
"name": "serialNumbers_empty",
2575-
"description": "Checks if `serialNumbers` is an empty list (true) or a non-empty list or null (false).",
2575+
"description": "Checks if `serialNumbers` is an empty list (true) or a non-empty list (false).",
25762576
"deprecationReason": null
25772577
},
25782578
{
@@ -2597,7 +2597,7 @@
25972597
},
25982598
{
25992599
"name": "contentInfo_empty",
2600-
"description": "Checks if `contentInfo` is an empty list (true) or a non-empty list or null (false).",
2600+
"description": "Checks if `contentInfo` is an empty list (true) or a non-empty list (false).",
26012601
"deprecationReason": null
26022602
},
26032603
{
@@ -2622,7 +2622,7 @@
26222622
},
26232623
{
26242624
"name": "items_empty",
2625-
"description": "Checks if `items` is an empty list (true) or a non-empty list or null (false).",
2625+
"description": "Checks if `items` is an empty list (true) or a non-empty list (false).",
26262626
"deprecationReason": null
26272627
},
26282628
{
@@ -2642,7 +2642,7 @@
26422642
},
26432643
{
26442644
"name": "handlingUnits_empty",
2645-
"description": "Checks if `handlingUnits` is an empty list (true) or a non-empty list or null (false).",
2645+
"description": "Checks if `handlingUnits` is an empty list (true) or a non-empty list (false).",
26462646
"deprecationReason": null
26472647
},
26482648
{
@@ -4388,7 +4388,7 @@
43884388
},
43894389
{
43904390
"name": "notices_empty",
4391-
"description": "Checks if `notices` is an empty list (true) or a non-empty list or null (false).",
4391+
"description": "Checks if `notices` is an empty list (true) or a non-empty list (false).",
43924392
"deprecationReason": null
43934393
},
43944394
{
@@ -4767,7 +4767,7 @@
47674767
},
47684768
{
47694769
"name": "deliveries_empty",
4770-
"description": "Checks if `deliveries` is an empty list (true) or a non-empty list or null (false).",
4770+
"description": "Checks if `deliveries` is an empty list (true) or a non-empty list (false).",
47714771
"deprecationReason": null
47724772
},
47734773
{
@@ -5494,7 +5494,7 @@
54945494
},
54955495
{
54965496
"name": "serialNumbers_empty",
5497-
"description": "Checks if `serialNumbers` is an empty list (true) or a non-empty list or null (false).",
5497+
"description": "Checks if `serialNumbers` is an empty list (true) or a non-empty list (false).",
54985498
"deprecationReason": null
54995499
},
55005500
{
@@ -5509,7 +5509,7 @@
55095509
},
55105510
{
55115511
"name": "items_empty",
5512-
"description": "Checks if `items` is an empty list (true) or a non-empty list or null (false).",
5512+
"description": "Checks if `items` is an empty list (true) or a non-empty list (false).",
55135513
"deprecationReason": null
55145514
},
55155515
{
@@ -6696,7 +6696,7 @@
66966696
},
66976697
{
66986698
"name": "deliveries_empty",
6699-
"description": "Checks if `deliveries` is an empty list (true) or a non-empty list or null (false).",
6699+
"description": "Checks if `deliveries` is an empty list (true) or a non-empty list (false).",
67006700
"deprecationReason": null
67016701
},
67026702
{
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# note that delivery 3 has serialNumbers = null (not initialized)
2+
mutation init {
3+
updateDelivery(input: { id: "@{ids/Delivery/2}", serialNumbers: [] }) {
4+
deliveryNumber
5+
serialNumbers
6+
}
7+
}
8+
9+
query empty {
10+
allDeliveries(filter: { serialNumbers_empty: true }, orderBy: deliveryNumber_ASC) {
11+
deliveryNumber
12+
serialNumbers
13+
}
14+
}
15+
16+
# this is the old version which also works
17+
query none {
18+
allDeliveries(filter: { serialNumbers_none: {} }, orderBy: deliveryNumber_ASC) {
19+
deliveryNumber
20+
serialNumbers
21+
}
22+
}
23+
24+
query not_empty {
25+
allDeliveries(filter: { serialNumbers_empty: false }, orderBy: deliveryNumber_ASC) {
26+
deliveryNumber
27+
serialNumbers
28+
}
29+
}
30+
31+
# this is the old version which also works
32+
query some {
33+
allDeliveries(filter: { serialNumbers_some: {} }, orderBy: deliveryNumber_ASC) {
34+
deliveryNumber
35+
serialNumbers
36+
}
37+
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{
2+
"init": {
3+
"data": {
4+
"updateDelivery": {
5+
"deliveryNumber": "1000521",
6+
"serialNumbers": []
7+
}
8+
}
9+
},
10+
"empty": {
11+
"data": {
12+
"allDeliveries": [
13+
{
14+
"deliveryNumber": "1000521",
15+
"serialNumbers": []
16+
},
17+
{
18+
"deliveryNumber": "1000522",
19+
"serialNumbers": []
20+
}
21+
]
22+
}
23+
},
24+
"none": {
25+
"data": {
26+
"allDeliveries": [
27+
{
28+
"deliveryNumber": "1000521",
29+
"serialNumbers": []
30+
},
31+
{
32+
"deliveryNumber": "1000522",
33+
"serialNumbers": []
34+
}
35+
]
36+
}
37+
},
38+
"not_empty": {
39+
"data": {
40+
"allDeliveries": [
41+
{
42+
"deliveryNumber": "1000173",
43+
"serialNumbers": [
44+
"12345",
45+
"67890"
46+
]
47+
}
48+
]
49+
}
50+
},
51+
"some": {
52+
"data": {
53+
"allDeliveries": [
54+
{
55+
"deliveryNumber": "1000173",
56+
"serialNumbers": [
57+
"12345",
58+
"67890"
59+
]
60+
}
61+
]
62+
}
63+
}
64+
}

0 commit comments

Comments
 (0)