11package serialize.indexing
22
3+ import com.algolia.search.model.Attribute
34import com.algolia.search.model.ObjectID
45import com.algolia.search.model.indexing.BatchOperation
56import com.algolia.search.model.indexing.BatchOperation.*
7+ import com.algolia.search.model.indexing.Partial
68import com.algolia.search.serialize.*
79import kotlinx.serialization.json.json
810import serialize.TestSerializer
11+ import shouldEqual
912import unknown
13+ import kotlin.test.Test
1014
1115
1216internal class TestBatchOperation : TestSerializer <BatchOperation >(BatchOperation ) {
@@ -33,6 +37,18 @@ internal class TestBatchOperation : TestSerializer<BatchOperation>(BatchOperatio
3337 KeyAction to KeyPartialUpdateObjectNoCreate
3438 KeyBody to json
3539 },
40+ PartialUpdateObject .from(
41+ ObjectID (unknown),
42+ Partial .Update (
43+ Attribute (" key" ), " value"
44+ )
45+ ) to json {
46+ KeyAction to KeyPartialUpdateObject
47+ KeyBody to json {
48+ KeyObjectID to unknown
49+ " key" to " value"
50+ }
51+ },
3652 DeleteObject (objectID) to json {
3753 KeyAction to KeyDeleteObject
3854 KeyBody to json
@@ -44,4 +60,12 @@ internal class TestBatchOperation : TestSerializer<BatchOperation>(BatchOperatio
4460 KeyBody to json
4561 }
4662 )
63+
64+ @Test
65+ fun fromPartialUpdate () {
66+ val fromPartialUpdate = PartialUpdateObject .from(ObjectID (unknown), Partial .Update (Attribute (" key" ), " value" ))
67+ val partialUpdateObject = PartialUpdateObject (ObjectID (unknown), json { " key" to " value" })
68+
69+ Json .toJson(BatchOperation , fromPartialUpdate) shouldEqual Json .toJson(BatchOperation , partialUpdateObject)
70+ }
4771}
0 commit comments