@@ -2,11 +2,17 @@ package suite
22
33import clientAdmin1
44import com.algolia.search.helper.toAttribute
5+ import com.algolia.search.model.ObjectID
6+ import com.algolia.search.model.rule.Condition
7+ import com.algolia.search.model.rule.Consequence
58import com.algolia.search.model.rule.Rule
9+ import com.algolia.search.model.search.Query
610import com.algolia.search.model.settings.AttributeForFaceting
711import com.algolia.search.model.settings.Settings
812import com.algolia.search.model.task.Task
913import com.algolia.search.model.task.TaskStatus
14+ import com.algolia.search.serialize.JsonDebug
15+ import com.algolia.search.serialize.JsonNoDefaults
1016import io.ktor.client.features.ResponseException
1117import io.ktor.http.HttpStatusCode
1218import kotlinx.serialization.json.JsonObjectSerializer
@@ -24,6 +30,7 @@ internal class TestSuiteRules {
2430 private val suffix = " rules"
2531 private val indexName = testSuiteIndexName(suffix)
2632 private val brand = " brand" .toAttribute()
33+ private val model = " model" .toAttribute()
2734 private val index = clientAdmin1.initIndex(indexName)
2835
2936 @AfterTest
@@ -38,12 +45,19 @@ internal class TestSuiteRules {
3845 runBlocking {
3946 val objects = load(JsonObjectSerializer .list, " iphones.json" )
4047 val rule = load(Rule .serializer(), " rule_brand.json" )
41- val rules = load(Rule .serializer().list, " rule_edits .json" )
48+ val rules = load(Rule .serializer().list, " rule_batch .json" )
4249 val tasks = mutableListOf<Task >()
4350
4451 index.apply {
4552 tasks + = saveObjects(objects)
46- tasks + = setSettings(Settings (attributesForFaceting = listOf (AttributeForFaceting .Default (brand))))
53+ tasks + = setSettings(
54+ Settings (
55+ attributesForFaceting = listOf (
56+ AttributeForFaceting .Default (brand),
57+ AttributeForFaceting .Default (model)
58+ )
59+ )
60+ )
4761 tasks + = saveRule(rule)
4862 tasks + = saveRules(rules)
4963
@@ -57,6 +71,7 @@ internal class TestSuiteRules {
5771 searches.find { it.objectID == rules.first().objectID }.shouldNotBeNull()
5872 deleteRule(rule.objectID).wait() shouldEqual TaskStatus .Published
5973
74+ search(Query (ruleContexts = listOf (" summer" ))).nbHits shouldEqual 1
6075 (shouldFailWith<ResponseException > {
6176 getRule(rule.objectID)
6277 }).response.status.value shouldEqual HttpStatusCode .NotFound .value
0 commit comments