OXYGENHUB
# fbc95ee8777c oxygenhub-android / app / src / test / java / io / oxygenhub / android / ui / LinksTest.kt
1.9 KiB · last changed The inbox opens what it is about in the app, not the website (refs #5) 10 days ago source blame history raw
1
package io.oxygenhub.android.ui
2
3
import io.oxygenhub.android.ui.nav.BoardRoute
4
import io.oxygenhub.android.ui.nav.ChangeRoute
5
import io.oxygenhub.android.ui.nav.FileRoute
6
import io.oxygenhub.android.ui.nav.HistoryRoute
7
import io.oxygenhub.android.ui.nav.IssueRoute
8
import io.oxygenhub.android.ui.nav.IssuesRoute
9
import io.oxygenhub.android.ui.nav.ProposalRoute
10
import io.oxygenhub.android.ui.nav.RunRoute
11
import io.oxygenhub.android.ui.nav.routeFor
12
import org.junit.Assert.assertEquals
13
import org.junit.Assert.assertNull
14
import org.junit.Test
15
16
class LinksTest {
17
    private val hub = "https://oxygenhub.io"
18
    private fun r(path: String) = routeFor("https://oxygenhub.io$path", hub)
19
20
    @Test
21
    fun hubPagesOpenTheirOwnScreens() {
22
        assertEquals(IssueRoute("doomsdayone", "supermarioland2", 317), r("/doomsdayone/supermarioland2/issue/317#c-12"))
23
        assertEquals(ProposalRoute("andymccall", "oxygenhub", 314), r("/andymccall/oxygenhub/proposal/314"))
24
        assertEquals(RunRoute("andymccall", "phone-runner-demo", 56), r("/andymccall/phone-runner-demo/flow/56"))
25
        assertEquals(ChangeRoute("andymccall", "oxygen", "4f07c5a0"), r("/andymccall/oxygen/change/4f07c5a0"))
26
        assertEquals(FileRoute("andymccall", "oxygen", "main", "crates/oxy-core/src/strata.rs"), r("/andymccall/oxygen/file/main/crates/oxy-core/src/strata.rs"))
27
        assertEquals(HistoryRoute("andymccall", "oxygen", "main"), r("/andymccall/oxygen/changes/main"))
28
        assertEquals(BoardRoute("doomsdayone", 4), r("/projects/doomsdayone/4"))
29
        assertEquals(IssuesRoute("andymccall", "oxygen"), r("/andymccall/oxygen"))
30
    }
31
32
    @Test
33
    fun otherPagesAndSitesGoToTheBrowser() {
34
        assertNull(r("/andymccall/oxygenhub/releases/tag/v0.9.4"))
35
        assertNull(r("/admin/runners"))
36
        assertNull(routeFor("https://example.com/andymccall/oxygen/issue/1", hub))
37
        assertNull(r("/andymccall/oxygen/issue/not-a-number"))
38
    }
39
}