2017-09-02 19:40:32 +02:00
|
|
|
@file:Suppress("IllegalIdentifier")
|
|
|
|
|
2018-02-17 20:36:19 +01:00
|
|
|
package org.moire.ultrasonic.domain
|
2017-09-02 19:40:32 +02:00
|
|
|
|
2018-03-24 19:30:03 +01:00
|
|
|
import org.amshove.kluent.`should be equal to`
|
2021-05-07 15:36:11 +02:00
|
|
|
import org.amshove.kluent.`should not be equal to`
|
2017-09-02 19:40:32 +02:00
|
|
|
import org.junit.Test
|
|
|
|
import org.moire.ultrasonic.api.subsonic.models.Album
|
|
|
|
import org.moire.ultrasonic.api.subsonic.models.Artist
|
|
|
|
import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
|
|
|
|
import org.moire.ultrasonic.api.subsonic.models.SearchResult
|
|
|
|
import org.moire.ultrasonic.api.subsonic.models.SearchThreeResult
|
|
|
|
import org.moire.ultrasonic.api.subsonic.models.SearchTwoResult
|
|
|
|
|
|
|
|
/**
|
2017-12-16 20:10:25 +01:00
|
|
|
* Unit test for extension function in APISearchConverter.kt file.
|
2017-09-02 19:40:32 +02:00
|
|
|
*/
|
|
|
|
class APISearchConverterTest {
|
|
|
|
@Test
|
|
|
|
fun `Should convert SearchResult to domain entity`() {
|
2020-06-13 19:04:31 +02:00
|
|
|
val entity = SearchResult(
|
|
|
|
offset = 10,
|
|
|
|
totalHits = 3,
|
|
|
|
matchList = listOf(
|
2017-12-16 21:28:18 +01:00
|
|
|
MusicDirectoryChild(id = "101")
|
2020-06-13 19:04:31 +02:00
|
|
|
)
|
|
|
|
)
|
2017-09-02 19:40:32 +02:00
|
|
|
|
|
|
|
val convertedEntity = entity.toDomainEntity()
|
|
|
|
|
|
|
|
with(convertedEntity) {
|
2021-05-07 15:36:11 +02:00
|
|
|
albums `should not be equal to` null
|
2018-03-24 19:30:03 +01:00
|
|
|
albums.size `should be equal to` 0
|
2021-05-07 15:36:11 +02:00
|
|
|
artists `should not be equal to` null
|
2018-03-24 19:30:03 +01:00
|
|
|
artists.size `should be equal to` 0
|
|
|
|
songs.size `should be equal to` entity.matchList.size
|
2021-05-07 15:36:11 +02:00
|
|
|
songs[0] `should be equal to` entity.matchList[0].toDomainEntity()
|
2017-09-02 19:40:32 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun `Should convert SearchTwoResult to domain entity`() {
|
2020-06-13 19:04:31 +02:00
|
|
|
val entity = SearchTwoResult(
|
|
|
|
listOf(Artist(id = "82", name = "great-artist-name")),
|
|
|
|
listOf(MusicDirectoryChild(id = "762", artist = "bzz")),
|
|
|
|
listOf(MusicDirectoryChild(id = "9118", parent = "112"))
|
|
|
|
)
|
2017-09-02 19:40:32 +02:00
|
|
|
|
|
|
|
val convertedEntity = entity.toDomainEntity()
|
|
|
|
|
|
|
|
with(convertedEntity) {
|
2018-03-24 19:30:03 +01:00
|
|
|
artists.size `should be equal to` entity.artistList.size
|
2021-05-07 15:36:11 +02:00
|
|
|
artists[0] `should be equal to` entity.artistList[0].toDomainEntity()
|
2018-03-24 19:30:03 +01:00
|
|
|
albums.size `should be equal to` entity.albumList.size
|
2021-05-07 15:36:11 +02:00
|
|
|
albums[0] `should be equal to` entity.albumList[0].toDomainEntity()
|
2018-03-24 19:30:03 +01:00
|
|
|
songs.size `should be equal to` entity.songList.size
|
2021-05-07 15:36:11 +02:00
|
|
|
songs[0] `should be equal to` entity.songList[0].toDomainEntity()
|
2017-09-02 19:40:32 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun `Should convert SearchThreeResult to domain entity`() {
|
|
|
|
val entity = SearchThreeResult(
|
2020-06-13 19:04:31 +02:00
|
|
|
artistList = listOf(Artist(id = "612", name = "artist1")),
|
|
|
|
albumList = listOf(Album(id = "221", name = "album1")),
|
|
|
|
songList = listOf(MusicDirectoryChild(id = "7123", title = "song1"))
|
2017-09-02 19:40:32 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
val convertedEntity = entity.toDomainEntity()
|
|
|
|
|
|
|
|
with(convertedEntity) {
|
2018-03-24 19:30:03 +01:00
|
|
|
artists.size `should be equal to` entity.artistList.size
|
2021-05-07 15:36:11 +02:00
|
|
|
artists[0] `should be equal to` entity.artistList[0].toDomainEntity()
|
2018-03-24 19:30:03 +01:00
|
|
|
albums.size `should be equal to` entity.albumList.size
|
2021-05-07 15:36:11 +02:00
|
|
|
albums[0] `should be equal to` entity.albumList[0].toDomainEntity()
|
2018-03-24 19:30:03 +01:00
|
|
|
songs.size `should be equal to` entity.songList.size
|
2021-05-07 15:36:11 +02:00
|
|
|
songs[0] `should be equal to` entity.songList[0].toDomainEntity()
|
2017-09-02 19:40:32 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|