Skip to content

Commit 77dd0a7

Browse files
authored
[NOCSL] Add strategy to result object (#148)
1 parent ea1e6e3 commit 77dd0a7

File tree

4 files changed

+19
-1
lines changed

4 files changed

+19
-1
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package io.constructor.data.model.common
2+
3+
import com.squareup.moshi.Json
4+
import com.squareup.moshi.JsonClass
5+
import java.io.Serializable
6+
7+
/**
8+
* Models a Recommendation Strategy object
9+
*/
10+
@JsonClass(generateAdapter = true)
11+
data class RecommendationStrategy(
12+
@Json(name = "id") val id: String,
13+
) : Serializable

library/src/main/java/io/constructor/data/model/common/Result.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ data class Result(
1313
@Json(name = "matched_terms") val matchedTerms: List<String>?,
1414
@Json(name = "variations") val variations: List<Result>?,
1515
@Json(name = "variations_map") val variationsMap: Any?,
16+
@Json(name = "strategy") val strategy: RecommendationStrategy?,
1617
@Json(name = "value") val value: String,
1718
@Json(name = "is_slotted") val isSlotted: Boolean?,
1819
@Json(name = "labels") val labels: Map<String, Any>?,

library/src/test/java/io/constructor/core/ConstructorIoRecommendationsTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ class ConstructorIoRecommendationsTest {
7272
assertEquals(recommendationResponse?.response?.results!![0].data.id, "960189161")
7373
assertEquals(recommendationResponse?.response?.results!![0].data.imageUrl, "https://d17bbgoo3npfov.cloudfront.net/images/farmstand-960189161.png")
7474
assertEquals(recommendationResponse?.response?.results!![0].data.metadata?.get("price"), 1.11)
75+
assertEquals(recommendationResponse?.response?.results!![0].strategy?.id, "bestsellers")
7576
assertEquals(recommendationResponse?.response?.resultCount, 225)
7677

7778
val request = mockServer.takeRequest()

library/src/test/resources/recommendation_response.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@
3737
"url": "/"
3838
},
3939
"is_slotted": false,
40+
"strategy": {
41+
"id": "bestsellers"
42+
},
4043
"matched_terms": [],
4144
"value": "LaCroix Sparkling Water Pure Cans - 12-12 Fl. Oz."
4245
}, {
@@ -795,4 +798,4 @@
795798
}
796799
},
797800
"result_id": "49eb05c2-a3a3-4080-b238-82c5a44f8cf5"
798-
}
801+
}

0 commit comments

Comments
 (0)