OXYGENHUB
# 62429abe5869 oxygenhub-android / app / src / test / java / io / oxygenhub / android / Fixtures.kt
1.3 KiB · last changed Land proposals from the phone (closes #17) 11 days ago source blame history raw
5ae4af48 Andy McCall ↶ 1
package io.oxygenhub.android
2
3
import io.oxygenhub.android.api.HubJson
4
import io.oxygenhub.android.api.Inbox
5
import io.oxygenhub.android.api.Issue
6
import io.oxygenhub.android.api.Repository
7
import io.oxygenhub.android.api.User
8
import kotlinx.serialization.builtins.ListSerializer
9
10
/** The JSON fixtures under src/test/resources/fixtures, written from oxygenhub's hub-api types. */
11
object Fixtures {
12
    fun text(name: String): String =
13
        requireNotNull(Fixtures::class.java.classLoader!!.getResource("fixtures/$name")) { "no fixture $name" }.readText()
14
15
    val user: User get() = HubJson.decodeFromString(User.serializer(), text("user.json"))
e2df27a8 Andy McCall ↶ 16
    val proposals: List<io.oxygenhub.android.api.Proposal>
17
        get() = HubJson.decodeFromString(ListSerializer(io.oxygenhub.android.api.Proposal.serializer()), text("proposals.json"))
18
    val checks: List<io.oxygenhub.android.api.Check>
19
        get() = HubJson.decodeFromString(ListSerializer(io.oxygenhub.android.api.Check.serializer()), text("checks.json"))
5ae4af48 Andy McCall ↶ 20
    val repos: List<Repository> get() = HubJson.decodeFromString(ListSerializer(Repository.serializer()), text("repos.json"))
21
    val issues: List<Issue> get() = HubJson.decodeFromString(ListSerializer(Issue.serializer()), text("issues.json"))
22
    val inbox: Inbox get() = HubJson.decodeFromString(Inbox.serializer(), text("inbox.json"))
23
}