diff options
Diffstat (limited to 'examples/helloworld/src/test/kotlin')
-rw-r--r-- | examples/helloworld/src/test/kotlin/test/com/example/HelloworldSpec.kt | 21 | ||||
-rw-r--r-- | examples/helloworld/src/test/kotlin/test/com/example/TestUtil.kt | 32 |
2 files changed, 53 insertions, 0 deletions
diff --git a/examples/helloworld/src/test/kotlin/test/com/example/HelloworldSpec.kt b/examples/helloworld/src/test/kotlin/test/com/example/HelloworldSpec.kt new file mode 100644 index 00000000..8054c000 --- /dev/null +++ b/examples/helloworld/src/test/kotlin/test/com/example/HelloworldSpec.kt @@ -0,0 +1,21 @@ +package test.com.example + +import com.example.Helloworld +import kotlin.browser.document +import kotlin.test.Test +import kotlin.test.assertTrue + +class HelloworldSpec : DomSpec { + + @Test + fun render() { + run { + Helloworld().start(mapOf()) + val element = document.getElementById("helloworld") + assertTrue( + element?.innerHTML?.contains("Hello world!") ?: false, + "Application should render Hello world! text" + ) + } + } +} diff --git a/examples/helloworld/src/test/kotlin/test/com/example/TestUtil.kt b/examples/helloworld/src/test/kotlin/test/com/example/TestUtil.kt new file mode 100644 index 00000000..c5ec014f --- /dev/null +++ b/examples/helloworld/src/test/kotlin/test/com/example/TestUtil.kt @@ -0,0 +1,32 @@ +package test.com.example + +import pl.treksoft.jquery.jQuery +import kotlin.browser.document + +interface TestSpec { + fun beforeTest() + + fun afterTest() + + fun run(code: () -> Unit) { + beforeTest() + code() + afterTest() + } +} + +interface DomSpec : TestSpec { + + override fun beforeTest() { + val fixture = "<div style=\"display: none\" id=\"pretest\">" + + "<div id=\"helloworld\"></div></div>" + document.body?.insertAdjacentHTML("afterbegin", fixture) + } + + override fun afterTest() { + val div = document.getElementById("pretest") + div?.remove() + jQuery(`object` = ".modal-backdrop").remove() + } + +} |