mirror of
https://github.com/ultrasonic/ultrasonic
synced 2025-03-10 08:30:08 +01:00
Add function that converts SearchResult to domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
This commit is contained in:
parent
e71d8a09af
commit
6bfd091b6b
@ -9,10 +9,12 @@ import org.moire.ultrasonic.domain.Artist
|
|||||||
import org.moire.ultrasonic.domain.Indexes
|
import org.moire.ultrasonic.domain.Indexes
|
||||||
import org.moire.ultrasonic.domain.MusicDirectory
|
import org.moire.ultrasonic.domain.MusicDirectory
|
||||||
import org.moire.ultrasonic.domain.MusicFolder
|
import org.moire.ultrasonic.domain.MusicFolder
|
||||||
|
import org.moire.ultrasonic.domain.SearchResult
|
||||||
import org.moire.ultrasonic.api.subsonic.models.Artist as APIArtist
|
import org.moire.ultrasonic.api.subsonic.models.Artist as APIArtist
|
||||||
import org.moire.ultrasonic.api.subsonic.models.Indexes as APIIndexes
|
import org.moire.ultrasonic.api.subsonic.models.Indexes as APIIndexes
|
||||||
import org.moire.ultrasonic.api.subsonic.models.MusicDirectory as APIMusicDirectory
|
import org.moire.ultrasonic.api.subsonic.models.MusicDirectory as APIMusicDirectory
|
||||||
import org.moire.ultrasonic.api.subsonic.models.MusicFolder as APIMusicFolder
|
import org.moire.ultrasonic.api.subsonic.models.MusicFolder as APIMusicFolder
|
||||||
|
import org.moire.ultrasonic.api.subsonic.models.SearchResult as APISearchResult
|
||||||
|
|
||||||
fun APIMusicFolder.toDomainEntity(): MusicFolder = MusicFolder(this.id.toString(), this.name)
|
fun APIMusicFolder.toDomainEntity(): MusicFolder = MusicFolder(this.id.toString(), this.name)
|
||||||
|
|
||||||
@ -85,3 +87,6 @@ fun APIMusicDirectory.toDomainEntity(): MusicDirectory = MusicDirectory().apply
|
|||||||
name = this@toDomainEntity.name
|
name = this@toDomainEntity.name
|
||||||
addAll(this@toDomainEntity.childList.map { it.toDomainEntity() })
|
addAll(this@toDomainEntity.childList.map { it.toDomainEntity() })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun APISearchResult.toDomainEntity(): SearchResult = SearchResult(emptyList(), emptyList(),
|
||||||
|
this.matchList.map { it.toDomainEntity() })
|
||||||
|
@ -4,6 +4,7 @@ package org.moire.ultrasonic.data
|
|||||||
|
|
||||||
import org.amshove.kluent.`should equal to`
|
import org.amshove.kluent.`should equal to`
|
||||||
import org.amshove.kluent.`should equal`
|
import org.amshove.kluent.`should equal`
|
||||||
|
import org.amshove.kluent.`should not equal`
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.moire.ultrasonic.api.subsonic.models.Album
|
import org.moire.ultrasonic.api.subsonic.models.Album
|
||||||
import org.moire.ultrasonic.api.subsonic.models.Artist
|
import org.moire.ultrasonic.api.subsonic.models.Artist
|
||||||
@ -12,6 +13,7 @@ import org.moire.ultrasonic.api.subsonic.models.Indexes
|
|||||||
import org.moire.ultrasonic.api.subsonic.models.MusicDirectory
|
import org.moire.ultrasonic.api.subsonic.models.MusicDirectory
|
||||||
import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
||||||
import org.moire.ultrasonic.api.subsonic.models.MusicFolder
|
import org.moire.ultrasonic.api.subsonic.models.MusicFolder
|
||||||
|
import org.moire.ultrasonic.api.subsonic.models.SearchResult
|
||||||
import java.util.Calendar
|
import java.util.Calendar
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -192,6 +194,24 @@ class APIConverterTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `Should convert SearchResult to domain entity`() {
|
||||||
|
val entity = SearchResult(offset = 10, totalHits = 3, matchList = listOf(
|
||||||
|
MusicDirectoryChild(id = 101L)
|
||||||
|
))
|
||||||
|
|
||||||
|
val convertedEntity = entity.toDomainEntity()
|
||||||
|
|
||||||
|
with(convertedEntity) {
|
||||||
|
albums `should not equal` null
|
||||||
|
albums.size `should equal to` 0
|
||||||
|
artists `should not equal` null
|
||||||
|
artists.size `should equal to` 0
|
||||||
|
songs.size `should equal to` entity.matchList.size
|
||||||
|
songs[0] `should equal` entity.matchList[0].toDomainEntity()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun createMusicFolder(id: Long = 0, name: String = ""): MusicFolder =
|
private fun createMusicFolder(id: Long = 0, name: String = ""): MusicFolder =
|
||||||
MusicFolder(id, name)
|
MusicFolder(id, name)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user