package at.mocode import at.mocode.model.entitaeten.Turnier import kotlinx.html.* import kotlinx.html.stream.appendHTML import java.io.StringWriter import kotlin.test.Test import kotlin.test.assertFalse import kotlin.test.assertTrue class ApplicationTest { @Test fun testRootRouteShowsTournamentList() { // Erstelle ein Beispiel-Turnier, das in der Datenbank sein würde val mockTurnier = Turnier( id = "dummy-01", name = "Erstes DB Turnier", datum = "19.04.2025", logoUrl = null, ausschreibungUrl = "/pdfs/ausschreibung_dummy.pdf" ) // Erstelle eine Liste von Turnieren, wie sie aus der Datenbank kommen würde val turniereFromDb = listOf(mockTurnier) // Generiere das HTML direkt, wie es in der Application.kt gemacht wird val htmlContent = StringWriter().apply { appendHTML().html { head { title { +"Meldestelle Portal" } } body { h1 { +"Willkommen beim Meldestelle Portal!" } p { +"Datenbankverbindung erfolgreich!" } hr() h2 { +"Aktuelle Turniere (aus Datenbank):" } ul { if (turniereFromDb.isEmpty()) { li { +"Keine Turniere in der Datenbank gefunden." } } else { turniereFromDb.forEach { turnier -> li { strong { +turnier.name } +" (${turnier.datum})" +" " if (turnier.ausschreibungUrl != null) { a(href = turnier.ausschreibungUrl, target = "_blank") { button { +"Ausschreibung" } } +" " } a(href = "/nennung/${turnier.id}") { button { +"Online Nennen" } } } } } } hr() p { a(href = "/admin/tournaments") { +"Zur Turnierverwaltung (TODO)" } } } } }.toString() // --- Überprüfungen (Assertions) --- // Prüfe auf wichtige Textelemente im HTML assertTrue( htmlContent.contains("