Skip to content

Commit a8d3711

Browse files
committed
Added simple tests for paging objects
1 parent 98b6ea2 commit a8d3711

File tree

1 file changed

+23
-0
lines changed
  • src/commonTest/kotlin/com.adamratzman/spotify/utilities

1 file changed

+23
-0
lines changed

src/commonTest/kotlin/com.adamratzman/spotify/utilities/JsonTests.kt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import com.adamratzman.spotify.api
55
import com.adamratzman.spotify.models.Album
66
import com.adamratzman.spotify.models.Artist
77
import com.adamratzman.spotify.models.ArtistUri
8+
import com.adamratzman.spotify.models.CursorBasedPagingObject
9+
import com.adamratzman.spotify.models.PagingObject
810
import com.adamratzman.spotify.models.Track
911
import kotlinx.serialization.ImplicitReflectionSerializer
1012
import kotlinx.serialization.UnstableDefault
@@ -43,5 +45,26 @@ class JsonTests : Spek({
4345
assertEquals(88, artist.popularity)
4446
assertEquals("artist", artist.type)
4547
}
48+
it("paging object deserialization test") {
49+
val json = """{"href": "href", "items": [], "limit": 50, "next": "nextHref", "offset": 3, "previous": "previousHref", "total": 5}"""
50+
val pagingObject = Json.parse(PagingObject.serializer(Artist.serializer()), json)
51+
assertEquals("href", pagingObject.href)
52+
assertEquals(emptyList(), pagingObject.items)
53+
assertEquals(50, pagingObject.limit)
54+
assertEquals("nextHref", pagingObject.next)
55+
assertEquals(3, pagingObject.offset)
56+
assertEquals("previousHref", pagingObject.previous)
57+
assertEquals(5, pagingObject.total)
58+
}
59+
it("cursor based paging object deserialization test") {
60+
val json = """{"href": "href", "items": [], "limit": 50, "next": "nextHref", "cursors": {"after": "afterHref"}, "total": 5}"""
61+
val pagingObject = Json.parse(CursorBasedPagingObject.serializer(Artist.serializer()), json)
62+
assertEquals("href", pagingObject.href)
63+
assertEquals(emptyList(), pagingObject.items)
64+
assertEquals(50, pagingObject.limit)
65+
assertEquals("nextHref", pagingObject.next)
66+
assertEquals("afterHref", pagingObject.cursor.after)
67+
assertEquals(5, pagingObject.total)
68+
}
4669
}
4770
})

0 commit comments

Comments
 (0)