@@ -48,49 +48,67 @@ def test_parse_blank_includes
48
48
end
49
49
50
50
def test_check_include_allowed
51
+ reset_includes
51
52
assert JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "isoCurrency" . partition ( '.' ) )
53
+ ensure
54
+ reset_includes
52
55
end
53
56
54
57
def test_check_nested_include_allowed
58
+ reset_includes
55
59
assert JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "employee.expenseEntries" . partition ( '.' ) )
60
+ ensure
61
+ reset_includes
56
62
end
57
63
58
64
def test_check_include_relationship_does_not_exist
65
+ reset_includes
66
+
59
67
assert_raises JSONAPI ::Exceptions ::InvalidInclude do
60
68
assert JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "foo" . partition ( '.' ) )
61
69
end
70
+ ensure
71
+ reset_includes
62
72
end
63
73
64
74
def test_check_nested_include_relationship_does_not_exist_wrong_format
75
+ reset_includes
76
+
65
77
assert_raises JSONAPI ::Exceptions ::InvalidInclude do
66
78
assert JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "employee.expense-entries" . partition ( '.' ) )
67
79
end
80
+ ensure
81
+ reset_includes
68
82
end
69
83
70
84
def test_check_include_has_one_not_allowed_default
85
+ reset_includes
86
+
71
87
assert JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "isoCurrency" . partition ( '.' ) )
72
88
JSONAPI . configuration . default_allow_include_to_one = false
73
89
74
90
assert_raises JSONAPI ::Exceptions ::InvalidInclude do
75
91
JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "isoCurrency" . partition ( '.' ) )
76
92
end
77
- ensure
78
- JSONAPI . configuration . default_allow_include_to_one = true
93
+ ensure
94
+ reset_includes
79
95
end
80
96
81
97
def test_check_include_has_one_not_allowed_resource
98
+ reset_includes
99
+
82
100
assert JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "isoCurrency" . partition ( '.' ) )
83
101
ExpenseEntryResource . _relationship ( :iso_currency ) . allow_include = false
84
102
85
103
assert_raises JSONAPI ::Exceptions ::InvalidInclude do
86
104
JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "isoCurrency" . partition ( '.' ) )
87
105
end
88
106
ensure
89
- ExpenseEntryResource . _relationship ( :iso_currency ) . allow_include = nil
107
+ reset_includes
90
108
end
91
109
92
110
def test_check_include_has_many_not_allowed_default
93
- JSONAPI . configuration . default_allow_include_to_many = true
111
+ reset_includes
94
112
95
113
assert JSONAPI ::RequestParser . new . check_include ( EmployeeResource , "expenseEntries" . partition ( '.' ) )
96
114
JSONAPI . configuration . default_allow_include_to_many = false
@@ -99,18 +117,20 @@ def test_check_include_has_many_not_allowed_default
99
117
JSONAPI ::RequestParser . new . check_include ( EmployeeResource , "expenseEntries" . partition ( '.' ) )
100
118
end
101
119
ensure
102
- JSONAPI . configuration . default_allow_include_to_many = true
120
+ reset_includes
103
121
end
104
122
105
- def test_check_include_has_many_not_allowed_relationship
123
+ def test_check_include_has_many_not_allowed_resource
124
+ reset_includes
125
+
106
126
assert JSONAPI ::RequestParser . new . check_include ( EmployeeResource , "expenseEntries" . partition ( '.' ) )
107
127
EmployeeResource . _relationship ( :expense_entries ) . allow_include = false
108
128
109
129
assert_raises JSONAPI ::Exceptions ::InvalidInclude do
110
130
JSONAPI ::RequestParser . new . check_include ( EmployeeResource , "expenseEntries" . partition ( '.' ) )
111
131
end
112
132
ensure
113
- EmployeeResource . _relationship ( :expense_entries ) . allow_include = nil
133
+ reset_includes
114
134
end
115
135
116
136
def test_parse_dasherized_with_dasherized_include
@@ -308,4 +328,12 @@ def test_parse_sort_with_relationships
308
328
def setup_request
309
329
@request = JSONAPI ::RequestParser . new
310
330
end
331
+
332
+ def reset_includes
333
+ JSONAPI . configuration . json_key_format = :camelized_key
334
+ JSONAPI . configuration . default_allow_include_to_one = true
335
+ JSONAPI . configuration . default_allow_include_to_many = true
336
+ ExpenseEntryResource . _relationship ( :iso_currency ) . allow_include = nil
337
+ EmployeeResource . _relationship ( :expense_entries ) . allow_include = nil
338
+ end
311
339
end
0 commit comments