1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-08 05:47:05 +09:00

DROID-3472 Primitives | Updating the logic for displaying properties for Template objects (#2311)

This commit is contained in:
Konstantin Ivanov 2025-04-14 17:57:05 +02:00 committed by GitHub
parent 0b06e88ae7
commit acefea1db9
Signed by: github
GPG key ID: B5690EEEBB952194
5 changed files with 202 additions and 22 deletions

View file

@ -2,6 +2,7 @@ package com.anytypeio.anytype.feature_object_type
import android.util.Log
import com.anytypeio.anytype.core_models.ObjectType
import com.anytypeio.anytype.core_models.ObjectWrapper
import com.anytypeio.anytype.core_models.RelationFormat
import com.anytypeio.anytype.core_models.Relations
import com.anytypeio.anytype.core_models.StubObjectType
@ -261,4 +262,171 @@ class TestFieldsMappping {
actual = parsedFields.hidden
)
}
@Test
fun `should has only local properties when object type is deleted`() = runTest {
storeOfRelations.apply {
merge(allSpaceRelations)
}
val testObjectType = StubObjectType(
isDeleted = true,
recommendedFeaturedRelations = listOf(field1, field1, field2, field3).map { it.id },
recommendedRelations = listOf(field1, field4, field4).map { it.id },
recommendedFileRelations = listOf(field1, field2, field3, field4, field5, field5).map { it.id },
recommendedHiddenRelations = listOf(field1, field2, field3, field4, field5, fieldCreatedDate, fieldCreatedDate).map { it.id },
space = space
)
storeOfObjectTypes.apply {
merge(listOf(testObjectType, fieldAssigneeObjType2, fieldAssigneeObjType1))
}
val parsedFields = fieldParser.getObjectParsedProperties(
objectType = testObjectType,
storeOfRelations = storeOfRelations,
objPropertiesKeys = listOf(
field1.key,
field2.key,
field3.key,
field4.key,
field5.key
),
)
assertEquals(
expected = listOf(),
actual = parsedFields.header
)
assertEquals(
expected = listOf(),
actual = parsedFields.sidebar
)
assertEquals(
expected = listOf(),
actual = parsedFields.file
)
assertEquals(
expected = listOf(),
actual = parsedFields.hidden
)
assertEquals(
expected = listOf(field1, field2, field3, field4, field5),
actual = parsedFields.local
)
}
@Test
fun `should has only local properties when object type is null`() = runTest {
storeOfRelations.apply {
merge(allSpaceRelations)
}
val testObjectType = null
storeOfObjectTypes.apply {
merge(listOf(fieldAssigneeObjType2, fieldAssigneeObjType1))
}
val parsedFields = fieldParser.getObjectParsedProperties(
objectType = testObjectType,
storeOfRelations = storeOfRelations,
objPropertiesKeys = listOf(
field1.key,
field2.key,
field3.key,
field4.key,
field5.key
),
)
assertEquals(
expected = listOf(),
actual = parsedFields.header
)
assertEquals(
expected = listOf(),
actual = parsedFields.sidebar
)
assertEquals(
expected = listOf(),
actual = parsedFields.file
)
assertEquals(
expected = listOf(),
actual = parsedFields.hidden
)
assertEquals(
expected = listOf(field1, field2, field3, field4, field5),
actual = parsedFields.local
)
}
@Test
fun `should has only local properties when object type is not valid`() = runTest {
storeOfRelations.apply {
merge(allSpaceRelations)
}
val testObjectType = ObjectWrapper.Type(
//without UNIQUE_KEY - not valid
map = mapOf(Relations.ID to "test_object_type_id")
)
storeOfObjectTypes.apply {
merge(listOf(testObjectType, fieldAssigneeObjType2, fieldAssigneeObjType1))
}
storeOfObjectTypes.apply {
merge(listOf(fieldAssigneeObjType2, fieldAssigneeObjType1))
}
val parsedFields = fieldParser.getObjectParsedProperties(
objectType = testObjectType,
storeOfRelations = storeOfRelations,
objPropertiesKeys = listOf(
field1.key,
field2.key,
field3.key,
field4.key,
field5.key
),
)
assertEquals(
expected = listOf(),
actual = parsedFields.header
)
assertEquals(
expected = listOf(),
actual = parsedFields.sidebar
)
assertEquals(
expected = listOf(),
actual = parsedFields.file
)
assertEquals(
expected = listOf(),
actual = parsedFields.hidden
)
assertEquals(
expected = listOf(field1, field2, field3, field4, field5),
actual = parsedFields.local
)
}
}