Skip to content

Commit c5378db

Browse files
committed
test(model-server): switched to jsoup based test in RepositoryOverviewTest
1 parent 94079e9 commit c5378db

File tree

1 file changed

+37
-13
lines changed

1 file changed

+37
-13
lines changed

model-server/src/test/kotlin/org/modelix/model/server/handlers/ui/RepositoryOverviewTest.kt

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,29 +18,53 @@ package org.modelix.model.server.handlers.ui
1818

1919
import kotlinx.html.span
2020
import kotlinx.html.stream.createHTML
21+
import org.jsoup.Jsoup
2122
import kotlin.test.Test
2223
import kotlin.test.assertEquals
2324

2425
class RepositoryOverviewTest {
2526

2627
@Test
27-
fun testSlashesInPathSegmentsFromRepositoryIdAndBranchId() {
28+
fun `history link is encoded properly`() {
2829
val html = createHTML(prettyPrint = false).span {
2930
buildHistoryLink("repository/v1", "branch/v2")
31+
}
32+
val document = Jsoup.parse(html)
33+
34+
val href = document.getElementsByTag("a").first()?.attribute("href")?.value
35+
assertEquals("../history/repository%2Fv1/branch%2Fv2/", href)
36+
}
37+
38+
@Test
39+
fun `explore latest link is encoded properly`() {
40+
val html = createHTML(prettyPrint = false).span {
3041
buildExploreLatestLink("repository/v1", "branch/v2")
42+
}
43+
val document = Jsoup.parse(html)
44+
45+
val href = document.getElementsByTag("a").first()?.attribute("href")?.value
46+
assertEquals("../content/repositories/repository%2Fv1/branches/branch%2Fv2/latest/", href)
47+
}
48+
49+
@Test
50+
fun `delete repository form action is encoded properly`() {
51+
val html = createHTML(prettyPrint = false).span {
3152
buildDeleteRepositoryForm("repository/v1")
3253
}
33-
assertEquals(
34-
"""
35-
<span>
36-
<a href="../history/repository%2Fv1/branch%2Fv2/">Show History</a>
37-
<a href="../content/repositories/repository%2Fv1/branches/branch%2Fv2/latest/">Explore Latest Version</a>
38-
<form>
39-
<button formmethod="post" name="delete" formaction="../v2/repositories/repository%2Fv1/delete">Delete Repository</button>
40-
</form>
41-
</span>
42-
""".lines().joinToString("") { it.trim() },
43-
html,
44-
)
54+
55+
val document = Jsoup.parse(html)
56+
val formAction = document.getElementsByTag("button").first()?.attribute("formaction")?.value
57+
assertEquals("../v2/repositories/repository%2Fv1/delete", formAction)
58+
}
59+
60+
@Test
61+
fun `delete branch button parameters are encoded properly`() {
62+
val html = createHTML(prettyPrint = false).span {
63+
buildDeleteBranchButton("repository/v1", "branch/v2")
64+
}
65+
66+
val document = Jsoup.parse(html)
67+
val onClick = document.getElementsByTag("button").first()?.attribute("onclick")?.value
68+
assertEquals("return removeBranch('repository%2Fv1', 'branch%2Fv2')", onClick)
4569
}
4670
}

0 commit comments

Comments
 (0)