@file:Suppress("IllegalIdentifier") package org.moire.ultrasonic.domain import java.util.Calendar import org.amshove.kluent.`should be equal to` import org.junit.Test import org.moire.ultrasonic.api.subsonic.models.Album import org.moire.ultrasonic.api.subsonic.models.Artist /** * Unit test for extension functions in APIArtistConverter.kt file. */ class APIArtistConverterTest : BaseTest() { @Test fun `Should convert artist entity`() { val entity = Artist(id = "10", name = "artist-name", starred = Calendar.getInstance()) val convertedEntity = entity.toDomainEntity(serverId) with(convertedEntity) { id `should be equal to` entity.id name `should be equal to` entity.name } } @Test fun `Should convert Artist entity to domain MusicDirectory entity`() { val entity = Artist( id = "101", name = "artist-name", coverArt = "some-art", albumCount = 10, albumsList = listOf( Album( id = "562", name = "some-name", coverArt = "zzz", artist = "artist-name", artistId = "256", songCount = 10, duration = 345, created = Calendar.getInstance(), year = 2011, genre = "Math Rock" ) ) ) val convertedEntity = entity.toMusicDirectoryDomainEntity(serverId) with(convertedEntity) { name `should be equal to` entity.name getChildren() `should be equal to` entity.albumsList .map { it.toDomainEntity(serverId) }.toMutableList() } } }