@@ -72,7 +72,7 @@ private FacetConfiguration createFacetConfigurationObject(String name, String se
7272 }
7373
7474 private FacetOptionConfiguration createFacetOptionConfigurationObject (
75- String value , String displayName , int position ) {
75+ String value , String displayName , Integer position ) {
7676 FacetOptionConfiguration config = new FacetOptionConfiguration ();
7777 config .setValue (value );
7878 config .setDisplayName (displayName );
@@ -136,7 +136,7 @@ public void testCreateFacetOptionConfiguration() throws Exception {
136136 assertEquals ("test-option" , jsonObj .get ("value" ));
137137 assertEquals ("test-alias" , jsonObj .get ("value_alias" ));
138138 assertEquals ("Test Option" , jsonObj .get ("display_name" ));
139- assertEquals (1 , jsonObj .get ("position" ));
139+ assertEquals (Integer . valueOf ( 1 ) , jsonObj .get ("position" ));
140140 assertEquals (false , jsonObj .get ("hidden" ));
141141 assertEquals ("bar" , jsonObj .getJSONObject ("data" ).get ("foo" ));
142142
@@ -177,18 +177,53 @@ public void testCreateFacetOptionConfigurations() throws Exception {
177177 assertEquals ("test-option" , jsonOption1 .get ("value" ));
178178 assertEquals ("test-alias" , jsonOption1 .get ("value_alias" ));
179179 assertEquals ("Test Option" , jsonOption1 .get ("display_name" ));
180- assertEquals (1 , jsonOption1 .get ("position" ));
180+ assertEquals (Integer . valueOf ( 1 ) , jsonOption1 .get ("position" ));
181181 assertEquals (false , jsonOption1 .get ("hidden" ));
182182 assertEquals ("bar" , jsonOption1 .getJSONObject ("data" ).get ("foo" ));
183183 assertEquals ("test-option-2" , jsonOption2 .get ("value" ));
184184 assertEquals ("Test Option 2" , jsonOption2 .get ("display_name" ));
185- assertEquals (2 , jsonOption2 .get ("position" ));
185+ assertEquals (Integer . valueOf ( 2 ) , jsonOption2 .get ("position" ));
186186 assertEquals (true , jsonOption2 .get ("hidden" ));
187187
188188 addFacetOptionToCleanupArray (facetName , "test-option" );
189189 addFacetOptionToCleanupArray (facetName , "test-option-2" );
190190 }
191191
192+ @ Test
193+ public void testCreateFacetOptionConfigurationsWithNullValues () throws Exception {
194+ String facetName = "testFacetNullValues" ;
195+ constructor .createFacetConfiguration (
196+ new FacetConfigurationRequest (
197+ createFacetConfigurationObject (facetName , PRODUCTS_SECTION ),
198+ PRODUCTS_SECTION ));
199+ addFacetToCleanupArray (facetName );
200+
201+ // Create facet option configuration with null values
202+ FacetOptionConfiguration option = new FacetOptionConfiguration ();
203+ option .setValue ("test-option-null" );
204+ option .setDisplayName (null );
205+ option .setPosition (null );
206+ option .setValueAlias (null );
207+ option .setData (null );
208+
209+ List <FacetOptionConfiguration > configurations = Arrays .asList (option );
210+
211+ // Create and verify configuration
212+ String response =
213+ constructor .createOrUpdateFacetOptionConfigurations (
214+ new FacetOptionConfigurationsRequest (
215+ configurations , facetName , PRODUCTS_SECTION ));
216+ JSONArray jsonArr = new JSONArray (response );
217+ JSONObject jsonOption = (JSONObject ) jsonArr .get (0 );
218+
219+ assertEquals ("test-option-null" , jsonOption .get ("value" ));
220+ assertTrue ("display_name should be null" , jsonOption .isNull ("display_name" ));
221+ assertTrue ("position should be null" , jsonOption .isNull ("position" ));
222+ assertTrue ("value_alias should be null" , jsonOption .isNull ("value_alias" ));
223+ assertTrue ("data should be null" , jsonOption .isNull ("data" ));
224+ addFacetOptionToCleanupArray (facetName , "test-option-null" );
225+ }
226+
192227 @ Test (expected = ConstructorException .class )
193228 public void testCreateFacetOptionConfigurationWithNullRequest () throws Exception {
194229 ConstructorIO constructor = new ConstructorIO (token , apiKey , true , null );
@@ -270,4 +305,10 @@ public void testDeleteNonExistentFacetOptionShouldThrowException() throws Except
270305 constructor .deleteFacetOptionConfiguration (
271306 "nonExistentFacet" , "nonExistentOption" , PRODUCTS_SECTION );
272307 }
308+
309+ @ Test
310+ public void testFacetOptionConfigurationDefaultValues () {
311+ FacetOptionConfiguration config = new FacetOptionConfiguration ();
312+ assertNull ("Position should default to null" , config .getPosition ());
313+ }
273314}
0 commit comments