@@ -117,6 +117,34 @@ public function getTestConfigurationData()
117
117
$ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['default ' ] = false ;
118
118
$ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['order ' ] = 'asc ' ;
119
119
$ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['mode ' ] = null ;
120
+ $ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['fields ' ][0 ]['field ' ] = 'test ' ;
121
+ $ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['fields ' ][0 ]['order ' ] = 'asc ' ;
122
+ $ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['fields ' ][0 ]['mode ' ] = null ;
123
+ unset($ customConfig ['filters ' ]['document_field ' ]);
124
+ unset($ customConfig ['filters ' ]['multi_choice ' ]);
125
+ unset($ customConfig ['filters ' ]['fuzzy ' ]);
126
+ $ cases [] = [
127
+ $ customConfig ,
128
+ $ expectedConfig ,
129
+ ];
130
+
131
+ // Case #3 sorting by multiple fields.
132
+ $ customConfig = $ expectedBaseConfig ;
133
+ $ customConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['fields ' ][0 ]['field ' ] = 'price ' ;
134
+ $ customConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['fields ' ][1 ]['field ' ] = 'date ' ;
135
+ $ customConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['fields ' ][1 ]['order ' ] = 'desc ' ;
136
+ $ expectedConfig = $ customConfig ;
137
+ $ expectedConfig ['filters ' ]['choice ' ] = ['single_choice ' => ['request_field ' => 'choice ' , 'tags ' => ['badged ' ]]];
138
+ $ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['label ' ] = 'price ' ;
139
+ $ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['default ' ] = false ;
140
+ $ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['order ' ] = 'asc ' ;
141
+ $ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['mode ' ] = null ;
142
+ $ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['fields ' ][0 ]['field ' ] = 'price ' ;
143
+ $ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['fields ' ][0 ]['order ' ] = 'asc ' ;
144
+ $ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['fields ' ][0 ]['mode ' ] = null ;
145
+ $ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['fields ' ][1 ]['field ' ] = 'date ' ;
146
+ $ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['fields ' ][1 ]['order ' ] = 'desc ' ;
147
+ $ expectedConfig ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['fields ' ][1 ]['mode ' ] = null ;
120
148
unset($ customConfig ['filters ' ]['document_field ' ]);
121
149
unset($ customConfig ['filters ' ]['multi_choice ' ]);
122
150
unset($ customConfig ['filters ' ]['fuzzy ' ]);
@@ -219,6 +247,14 @@ public function getTestConfigurationExceptionData()
219
247
'. Permissible values: "_term", "_count" ' ,
220
248
];
221
249
250
+ // Case #8 Sorting fields are not set.
251
+ $ config = $ this ->getBaseConfiguration ();
252
+ $ config ['filters ' ]['sort ' ]['sorting ' ]['choices ' ][0 ]['label ' ] = 'test ' ;
253
+ $ cases [] = [
254
+ $ config ,
255
+ 'The child node "fields" at path "ongr_filter_manager.filters.sort.sorting.choices.0" must be configured. ' ,
256
+ ];
257
+
222
258
return $ cases ;
223
259
}
224
260
0 commit comments