Add converting subsonic api Lyrics entity to domain entity.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
This commit is contained in:
Yahor Berdnikau 2017-09-03 22:23:32 +02:00
parent 9844fb1282
commit 290eb95246
2 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,13 @@
// Converts Lyrics entity from [org.moire.ultrasonic.api.subsonic.SubsonicAPIClient]
// to app domain entities.
@file:JvmName("APILyricsConverter")
package org.moire.ultrasonic.data
import org.moire.ultrasonic.domain.Lyrics
import org.moire.ultrasonic.api.subsonic.models.Lyrics as APILyrics
fun APILyrics.toDomainEntity(): Lyrics = Lyrics().apply {
artist = this@toDomainEntity.artist
title = this@toDomainEntity.title
text = this@toDomainEntity.text
}

View File

@ -0,0 +1,25 @@
@file:Suppress("IllegalIdentifier")
package org.moire.ultrasonic.data
import org.amshove.kluent.`should equal to`
import org.junit.Test
import org.moire.ultrasonic.api.subsonic.models.Lyrics
/**
* Unit test for extension functions in [APILyricsConverter.kt] file.
*/
class APILyricsConverterTest {
@Test
fun `Should convert Lyrics entity to domain`() {
val entity = Lyrics(artist = "some-artist", title = "some-title", text = "song-text")
val convertedEntity = entity.toDomainEntity()
with(convertedEntity) {
artist `should equal to` entity.artist
title `should equal to` entity.title
text `should equal to` entity.text
}
}
}