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

DROID-2657 App | Tech | Parse relation "Description" as single value as well as list value (#1798)

This commit is contained in:
Evgenii Kozlov 2024-11-15 11:02:46 +01:00 committed by GitHub
parent 27d2e36d33
commit 03cd9295c3
Signed by: github
GPG key ID: B5690EEEBB952194
2 changed files with 48 additions and 5 deletions

View file

@ -50,7 +50,7 @@ sealed class ObjectWrapper {
val layout: ObjectType.Layout?
get() = when (val value = map[Relations.LAYOUT]) {
is Double -> ObjectType.Layout.values().singleOrNull { layout ->
is Double -> ObjectType.Layout.entries.singleOrNull { layout ->
layout.code == value.toInt()
}
else -> null
@ -68,7 +68,7 @@ sealed class ObjectWrapper {
val fileMimeType: String? by default
val description: String? by default
val description: String? = getSingleValue(Relations.DESCRIPTION)
val url: String? by default
@ -156,7 +156,7 @@ sealed class ObjectWrapper {
data class Bookmark(override val map: Struct) : ObjectWrapper() {
private val default = map.withDefault { null }
val name: String? by default
val description: String? by default
val description: String? = getSingleValue(Relations.DESCRIPTION)
val source: String? by default
val iconEmoji: String? by default
val iconImage: String? = getSingleValue(Relations.ICON_IMAGE)
@ -174,7 +174,7 @@ sealed class ObjectWrapper {
val uniqueKey: String by default
val name: String? by default
val sourceObject: Id? get() = getSingleValue(Relations.SOURCE_OBJECT)
val description: String? by default
val description: String? = getSingleValue(Relations.DESCRIPTION)
val isArchived: Boolean? by default
val iconEmoji: String? by default
val isDeleted: Boolean? by default
@ -335,7 +335,7 @@ sealed class ObjectWrapper {
private val default = map.withDefault { null }
val id: Id by default
val name: String? by default
val description: String? by default
val description: String? = getSingleValue(Relations.DESCRIPTION)
val fileExt: String? by default
val fileMimeType: String? by default
val sizeInBytes: Double? by default

View file

@ -0,0 +1,43 @@
package com.anytypeio.anytype.domain.`object`
import com.anytypeio.anytype.core_models.ObjectWrapper
import com.anytypeio.anytype.core_models.Relations
import com.anytypeio.anytype.test_utils.MockDataFactory
import kotlin.test.Test
import kotlin.test.assertEquals
class ObjectWrapperTest {
@Test
fun `should parse description as single value`() {
val description = MockDataFactory.randomString()
assertEquals(
expected = description,
actual = ObjectWrapper.Basic(
map = mapOf(
Relations.DESCRIPTION to description
)
).description
)
assertEquals(
expected = description,
actual = ObjectWrapper.Basic(
map = mapOf(
Relations.DESCRIPTION to listOf(description)
)
).description
)
assertEquals(
expected = null,
actual = ObjectWrapper.Basic(
map = mapOf(
Relations.DESCRIPTION to null
)
).description
)
}
}