@@ -48,49 +48,67 @@ def test_parse_blank_includes
4848 end
4949
5050 def test_check_include_allowed
51+ reset_includes
5152 assert JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "isoCurrency" . partition ( '.' ) )
53+ ensure
54+ reset_includes
5255 end
5356
5457 def test_check_nested_include_allowed
58+ reset_includes
5559 assert JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "employee.expenseEntries" . partition ( '.' ) )
60+ ensure
61+ reset_includes
5662 end
5763
5864 def test_check_include_relationship_does_not_exist
65+ reset_includes
66+
5967 assert_raises JSONAPI ::Exceptions ::InvalidInclude do
6068 assert JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "foo" . partition ( '.' ) )
6169 end
70+ ensure
71+ reset_includes
6272 end
6373
6474 def test_check_nested_include_relationship_does_not_exist_wrong_format
75+ reset_includes
76+
6577 assert_raises JSONAPI ::Exceptions ::InvalidInclude do
6678 assert JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "employee.expense-entries" . partition ( '.' ) )
6779 end
80+ ensure
81+ reset_includes
6882 end
6983
7084 def test_check_include_has_one_not_allowed_default
85+ reset_includes
86+
7187 assert JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "isoCurrency" . partition ( '.' ) )
7288 JSONAPI . configuration . default_allow_include_to_one = false
7389
7490 assert_raises JSONAPI ::Exceptions ::InvalidInclude do
7591 JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "isoCurrency" . partition ( '.' ) )
7692 end
77- ensure
78- JSONAPI . configuration . default_allow_include_to_one = true
93+ ensure
94+ reset_includes
7995 end
8096
8197 def test_check_include_has_one_not_allowed_resource
98+ reset_includes
99+
82100 assert JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "isoCurrency" . partition ( '.' ) )
83101 ExpenseEntryResource . _relationship ( :iso_currency ) . allow_include = false
84102
85103 assert_raises JSONAPI ::Exceptions ::InvalidInclude do
86104 JSONAPI ::RequestParser . new . check_include ( ExpenseEntryResource , "isoCurrency" . partition ( '.' ) )
87105 end
88106 ensure
89- ExpenseEntryResource . _relationship ( :iso_currency ) . allow_include = nil
107+ reset_includes
90108 end
91109
92110 def test_check_include_has_many_not_allowed_default
93- JSONAPI . configuration . default_allow_include_to_many = true
111+ reset_includes
94112
95113 assert JSONAPI ::RequestParser . new . check_include ( EmployeeResource , "expenseEntries" . partition ( '.' ) )
96114 JSONAPI . configuration . default_allow_include_to_many = false
@@ -99,18 +117,20 @@ def test_check_include_has_many_not_allowed_default
99117 JSONAPI ::RequestParser . new . check_include ( EmployeeResource , "expenseEntries" . partition ( '.' ) )
100118 end
101119 ensure
102- JSONAPI . configuration . default_allow_include_to_many = true
120+ reset_includes
103121 end
104122
105- def test_check_include_has_many_not_allowed_relationship
123+ def test_check_include_has_many_not_allowed_resource
124+ reset_includes
125+
106126 assert JSONAPI ::RequestParser . new . check_include ( EmployeeResource , "expenseEntries" . partition ( '.' ) )
107127 EmployeeResource . _relationship ( :expense_entries ) . allow_include = false
108128
109129 assert_raises JSONAPI ::Exceptions ::InvalidInclude do
110130 JSONAPI ::RequestParser . new . check_include ( EmployeeResource , "expenseEntries" . partition ( '.' ) )
111131 end
112132 ensure
113- EmployeeResource . _relationship ( :expense_entries ) . allow_include = nil
133+ reset_includes
114134 end
115135
116136 def test_parse_dasherized_with_dasherized_include
@@ -308,4 +328,12 @@ def test_parse_sort_with_relationships
308328 def setup_request
309329 @request = JSONAPI ::RequestParser . new
310330 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
311339end
0 commit comments