rcdbquery/src/test/kotlin/de/pheerai/rcdbquery/dsl/RcdbQueryDslTest.kt

39 lines
1.1 KiB
Kotlin

package de.pheerai.rcdbquery.dsl
import de.pheerai.rcdbquery.dataMappings.vendor.Vendor
import de.pheerai.rcdbquery.dataMappings.order.sortBy
import de.pheerai.rcdbquery.dataMappings.vendor.vendors
import io.kotest.core.spec.style.StringSpec
import io.kotest.matchers.shouldBe
import io.kotest.matchers.string.shouldContain
class RcdbQueryDslTest : StringSpec({
"should generate a proper URL" {
val actual = rcdbQuery {
vendors {
vekoma()
mack()
of(Vendor.MAURER)
}
sortBy {
inversions()
manufacturer()
}
}
actual.length shouldBe 61
actual.shouldContain("https://www.rcdb.com/r.htm?")
actual.shouldContain("mk=")
actual.shouldContain("6836")
actual.shouldContain("6856")
actual.shouldContain("6905")
actual.shouldContain("order=")
actual.shouldContain("24")
actual.shouldContain("30")
actual.shouldContain("ot=2")
actual.filter { it == '&' }.length shouldBe 2
}
})