39 lines
1.1 KiB
Kotlin
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
|
|
}
|
|
})
|
|
|