Skip to content

Commit b5c554c

Browse files
authored
[CI-3692] Update labels type (#140)
* Update labels type * Lint * Add more tests * Lint
1 parent f888c3d commit b5c554c

File tree

10 files changed

+94
-14
lines changed

10 files changed

+94
-14
lines changed

constructorio-client/src/main/java/io/constructor/client/models/Result.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class Result {
2323
private Object variationsMap;
2424

2525
@SerializedName("labels")
26-
private Map<String, Boolean> labels;
26+
private Map<String, Object> labels;
2727

2828
@SerializedName("strategy")
2929
private Map<String, String> strategy;
@@ -66,7 +66,7 @@ public Object getVariationsMap() {
6666
/**
6767
* @return the labels
6868
*/
69-
public Map<String, Boolean> getLabels() {
69+
public Map<String, Object> getLabels() {
7070
return labels;
7171
}
7272

@@ -97,7 +97,7 @@ public void setVariationsMap(Object variationsMap) {
9797
this.variationsMap = variationsMap;
9898
}
9999

100-
public void setLabels(Map<String, Boolean> labels) {
100+
public void setLabels(Map<String, Object> labels) {
101101
this.labels = labels;
102102
}
103103

constructorio-client/src/test/java/io/constructor/client/AutocompleteResponseTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,12 @@ public void createAutocompleteResponseShouldReturnAResult() throws Exception {
2525
assertTrue("request exists", response.getRequest() != null);
2626
assertTrue(
2727
"labels exists",
28-
response.getSections().get("Products").get(0).getLabels().get("is_sponsored"));
28+
(Boolean)
29+
response.getSections()
30+
.get("Products")
31+
.get(0)
32+
.getLabels()
33+
.get("is_sponsored"));
2934
assertEquals("request query exists", response.getRequest().get("query"), "peanut");
3035
}
3136

constructorio-client/src/test/java/io/constructor/client/BrowseResponseTest.java

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import static org.junit.Assert.assertTrue;
55

66
import io.constructor.client.models.BrowseResponse;
7+
import java.util.Map;
78
import org.junit.Rule;
89
import org.junit.Test;
910
import org.junit.rules.ExpectedException;
@@ -49,7 +50,16 @@ public void createBrowseResponseShouldReturnAResult() throws Exception {
4950
562);
5051
assertTrue(
5152
"browse result labels exists",
52-
response.getResponse().getResults().get(0).getLabels().get("is_sponsored"));
53+
(Boolean)
54+
response.getResponse().getResults().get(0).getLabels().get("is_sponsored"));
55+
assertEquals(
56+
"browse result labels exists",
57+
(String) response.getResponse().getResults().get(0).getLabels().get("foo"),
58+
"bar");
59+
assertEquals(
60+
"browse result labels exists",
61+
(Double) response.getResponse().getResults().get(0).getLabels().get("baz"),
62+
(Double) 1.0);
5363
assertTrue("browse result id exists", response.getResultId() != null);
5464
assertTrue("request exists", response.getRequest() != null);
5565
assertEquals(
@@ -252,4 +262,28 @@ public void createBrowseResponseShouldReturnAResultWithRefinedContent() throws E
252262
assertTrue("browse result id exists", response.getResultId() != null);
253263
assertTrue("request exists", response.getRequest() != null);
254264
}
265+
266+
@Test
267+
public void createBrowseResponseShouldReturnAResultWithLabels() throws Exception {
268+
String string = Utils.getTestResource("response.browse.color.blue.json");
269+
BrowseResponse response = ConstructorIO.createBrowseResponse(string);
270+
assertEquals(
271+
"search result [labels] exists",
272+
response.getResponse().getResults().get(0).getLabels().size(),
273+
6);
274+
assertEquals(
275+
"is_sponsored label exists",
276+
response.getResponse().getResults().get(0).getLabels().get("is_sponsored"),
277+
true);
278+
assertEquals(
279+
"__cnstrc_new_arrivals label exists and it's a nested object",
280+
((Map<String, Object>)
281+
response.getResponse()
282+
.getResults()
283+
.get(0)
284+
.getLabels()
285+
.get("__cnstrc_new_arrivals"))
286+
.get("display_name"),
287+
"New Arrival");
288+
}
255289
}

constructorio-client/src/test/java/io/constructor/client/ConstructorIOAutocompleteTest.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.constructor.client;
22

33
import static org.junit.Assert.*;
4-
import static org.junit.Assert.assertNotNull;
54

65
import com.google.gson.Gson;
76
import com.google.gson.internal.LinkedTreeMap;
@@ -138,7 +137,12 @@ public void autocompleteShouldReturnAResultWithLabels() throws Exception {
138137
5);
139138
assertTrue(
140139
"autocomplete result labels exists",
141-
response.getSections().get("Products").get(0).getLabels().get("is_sponsored"));
140+
(Boolean)
141+
response.getSections()
142+
.get("Products")
143+
.get(0)
144+
.getLabels()
145+
.get("is_sponsored"));
142146
}
143147

144148
@Test

constructorio-client/src/test/java/io/constructor/client/ConstructorIOBrowseTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,8 @@ public void BrowseShouldReturnAResultWithLabels() throws Exception {
315315
assertEquals("browse results exist", response.getResponse().getResults().size(), 4);
316316
assertTrue(
317317
"browse result labels exist",
318-
response.getResponse().getResults().get(0).getLabels().get("is_sponsored"));
318+
(Boolean)
319+
response.getResponse().getResults().get(0).getLabels().get("is_sponsored"));
319320
}
320321

321322
@Test

constructorio-client/src/test/java/io/constructor/client/ConstructorIOSearchTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,8 @@ public void SearchShouldReturnAResultWithLabels() throws Exception {
120120
assertTrue("search results exist", response.getResponse().getResults().size() > 0);
121121
assertTrue(
122122
"labels exist",
123-
response.getResponse().getResults().get(0).getLabels().get("is_sponsored"));
123+
(Boolean)
124+
response.getResponse().getResults().get(0).getLabels().get("is_sponsored"));
124125
}
125126

126127
@Test

constructorio-client/src/test/java/io/constructor/client/RecommendationsResponseTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ public void createRecommendationsResponseShouldReturnAResult() throws Exception
3333
assertTrue("request exists", response.getRequest() != null);
3434
assertTrue(
3535
"recommendation result labels exist",
36-
response.getResponse().getResults().get(0).getLabels().get("is_sponsored"));
36+
(Boolean)
37+
response.getResponse().getResults().get(0).getLabels().get("is_sponsored"));
3738
assertEquals(
3839
"request filter value exists", response.getRequest().get("item_id"), "109350015");
3940
assertEquals(

constructorio-client/src/test/java/io/constructor/client/SearchResponseTest.java

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import static org.junit.Assert.assertTrue;
55

66
import io.constructor.client.models.SearchResponse;
7+
import java.util.Map;
78
import org.junit.Rule;
89
import org.junit.Test;
910
import org.junit.rules.ExpectedException;
@@ -146,7 +147,8 @@ public void createSearchResponseShouldReturnAResultWithVariations() throws Excep
146147
261);
147148
assertTrue(
148149
"search result labels exist",
149-
response.getResponse().getResults().get(0).getLabels().get("is_sponsored"));
150+
(Boolean)
151+
response.getResponse().getResults().get(0).getLabels().get("is_sponsored"));
150152
assertTrue("search result id exists", response.getResultId() != null);
151153
assertTrue("request exists", response.getRequest() != null);
152154
assertEquals("request query exists", response.getRequest().get("term"), "jacket");
@@ -236,4 +238,28 @@ public void createSearchResponseShouldReturnAResultWithRefinedContent() throws E
236238
assertTrue("request exists", response.getRequest() != null);
237239
assertEquals("request query exists", response.getRequest().get("term"), "item");
238240
}
241+
242+
@Test
243+
public void createSearchResponseShouldReturnAResultWithLabels() throws Exception {
244+
String string = Utils.getTestResource("response.search.item.json");
245+
SearchResponse response = ConstructorIO.createSearchResponse(string);
246+
assertEquals(
247+
"search result [labels] exists",
248+
response.getResponse().getResults().get(0).getLabels().size(),
249+
4);
250+
assertEquals(
251+
"is_sponsored label exists",
252+
response.getResponse().getResults().get(0).getLabels().get("is_sponsored"),
253+
true);
254+
assertEquals(
255+
"__cnstrc_new_arrivals label exists and it's a nested object",
256+
((Map<String, Object>)
257+
response.getResponse()
258+
.getResults()
259+
.get(0)
260+
.getLabels()
261+
.get("__cnstrc_new_arrivals"))
262+
.get("display_name"),
263+
"New Arrival");
264+
}
239265
}

constructorio-client/src/test/resources/response.browse.color.blue.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1307,7 +1307,12 @@
13071307
"value": "Coat Aspesi blue"
13081308
}],
13091309
"labels": {
1310-
"is_sponsored": true
1310+
"is_sponsored": true,
1311+
"foo": "bar",
1312+
"baz": 1,
1313+
"__cnstrc_new_arrivals": { "display_name": "New Arrival" },
1314+
"__cnstrc_best_sellers": { "display_name": "Bestseller" },
1315+
"__cnstrc_trending_now": { "display_name": "Trending Now" }
13111316
}
13121317
}, {
13131318
"data": {

constructorio-client/src/test/resources/response.search.item.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@
4848
"value": "Item5",
4949
"is_slotted": true,
5050
"labels": {
51-
"is_sponsored": true
51+
"is_sponsored": true,
52+
"__cnstrc_new_arrivals": { "display_name": "New Arrival" },
53+
"__cnstrc_best_sellers": { "display_name": "Bestseller" },
54+
"__cnstrc_trending_now": { "display_name": "Trending Now" }
5255
}
5356
}, {
5457
"matched_terms": ["item"],
@@ -225,4 +228,4 @@
225228
}]
226229
}
227230
}
228-
}
231+
}

0 commit comments

Comments
 (0)