From bcc5292dd95e5824da41a19bfbf64ebc25d79102 Mon Sep 17 00:00:00 2001 From: Robert Jaros Date: Tue, 16 Jan 2018 00:13:54 +0100 Subject: Spinner form controls Unit tests --- .../kvision/form/spinner/SpinnerInputSpec.kt | 54 ++++++++++++++++++++++ .../treksoft/kvision/form/spinner/SpinnerSpec.kt | 53 +++++++++++++++++++++ .../kvision/form/time/DateTimeInputSpec.kt | 28 +++++++++++ .../pl/treksoft/kvision/form/time/DateTimeSpec.kt | 34 ++++++++++++++ 4 files changed, 169 insertions(+) create mode 100644 src/test/kotlin/test/pl/treksoft/kvision/form/spinner/SpinnerInputSpec.kt create mode 100644 src/test/kotlin/test/pl/treksoft/kvision/form/spinner/SpinnerSpec.kt create mode 100644 src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeInputSpec.kt create mode 100644 src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeSpec.kt (limited to 'src/test/kotlin') diff --git a/src/test/kotlin/test/pl/treksoft/kvision/form/spinner/SpinnerInputSpec.kt b/src/test/kotlin/test/pl/treksoft/kvision/form/spinner/SpinnerInputSpec.kt new file mode 100644 index 00000000..8c90c684 --- /dev/null +++ b/src/test/kotlin/test/pl/treksoft/kvision/form/spinner/SpinnerInputSpec.kt @@ -0,0 +1,54 @@ +package test.pl.treksoft.kvision.form.spinner + +import pl.treksoft.kvision.core.Root +import pl.treksoft.kvision.form.spinner.SpinnerInput +import test.pl.treksoft.kvision.DomSpec +import kotlin.test.Test +import kotlin.test.assertEquals + +class SpinnerInputSpec : DomSpec { + + @Test + fun render() { + run { + val root = Root("test") + val si = SpinnerInput(value = 13).apply { + placeholder = "place" + id = "idti" + } + root.add(si) + val value = si.getElementJQuery()?.`val`() + assertEquals("13", value, "Should render spinner input with correct value") + } + } + + @Test + fun spinUp() { + run { + val root = Root("test") + val si = SpinnerInput(value = 13).apply { + placeholder = "place" + id = "idti" + } + root.add(si) + assertEquals(13, si.value, "Should return initial value before spinUp") + si.spinUp() + assertEquals(14, si.value, "Should return changed value after spinUp") + } + } + + @Test + fun spinDown() { + run { + val root = Root("test") + val si = SpinnerInput(value = 13).apply { + placeholder = "place" + id = "idti" + } + root.add(si) + assertEquals(13, si.value, "Should return initial value before spinDown") + si.spinDown() + assertEquals(12, si.value, "Should return changed value after spinDown") + } + } +} \ No newline at end of file diff --git a/src/test/kotlin/test/pl/treksoft/kvision/form/spinner/SpinnerSpec.kt b/src/test/kotlin/test/pl/treksoft/kvision/form/spinner/SpinnerSpec.kt new file mode 100644 index 00000000..b800f297 --- /dev/null +++ b/src/test/kotlin/test/pl/treksoft/kvision/form/spinner/SpinnerSpec.kt @@ -0,0 +1,53 @@ +package test.pl.treksoft.kvision.form.spinner + +import pl.treksoft.kvision.core.Root +import pl.treksoft.kvision.form.spinner.Spinner +import test.pl.treksoft.kvision.DomSpec +import kotlin.browser.document +import kotlin.test.Test +import kotlin.test.assertEquals + +class SpinnerSpec : DomSpec { + + @Test + fun render() { + run { + val root = Root("test") + val ti = Spinner(value = 13, label = "Label").apply { + placeholder = "place" + name = "name" + disabled = true + } + root.add(ti) + val element = document.getElementById("test") + val id = ti.input.id + assertEquals("
", element?.innerHTML, "Should render correct spinner input form control") + ti.validatorError = "Validation Error" + assertEquals("
Validation Error
", element?.innerHTML, "Should render correct spinner input form control with validation error") + } + } + + @Test + fun spinUp() { + run { + val root = Root("test") + val si = Spinner(value = 13) + root.add(si) + assertEquals(13, si.value, "Should return initial value before spinUp") + si.spinUp() + assertEquals(14, si.value, "Should return changed value after spinUp") + } + } + + @Test + fun spinDown() { + run { + val root = Root("test") + val si = Spinner(value = 13) + root.add(si) + assertEquals(13, si.value, "Should return initial value before spinDown") + si.spinDown() + assertEquals(12, si.value, "Should return changed value after spinDown") + } + } +} \ No newline at end of file diff --git a/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeInputSpec.kt b/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeInputSpec.kt new file mode 100644 index 00000000..fe6c2b45 --- /dev/null +++ b/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeInputSpec.kt @@ -0,0 +1,28 @@ +package test.pl.treksoft.kvision.form.time + +import pl.treksoft.kvision.core.Root +import pl.treksoft.kvision.form.time.DateTimeInput +import pl.treksoft.kvision.utils.toStringF +import test.pl.treksoft.kvision.DomSpec +import kotlin.js.Date +import kotlin.test.Test +import kotlin.test.assertEquals + +class DateTimeInputSpec : DomSpec { + + @Test + fun render() { + run { + val root = Root("test") + val data = Date() + val dti = DateTimeInput(value = data).apply { + placeholder = "place" + id = "idti" + } + root.add(dti) + val value = dti.getElementJQuery()?.`val`() + assertEquals(data.toStringF(dti.format), value, "Should render date time input with correctly formatted value") + } + } + +} \ No newline at end of file diff --git a/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeSpec.kt b/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeSpec.kt new file mode 100644 index 00000000..1a8665b1 --- /dev/null +++ b/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeSpec.kt @@ -0,0 +1,34 @@ +package test.pl.treksoft.kvision.form.time + +import pl.treksoft.kvision.core.Root +import pl.treksoft.kvision.form.time.DateTime +import pl.treksoft.kvision.utils.toStringF +import test.pl.treksoft.kvision.DomSpec +import kotlin.browser.document +import kotlin.js.Date +import kotlin.test.Test +import kotlin.test.assertEquals + +class DateTimeSpec : DomSpec { + + @Test + fun render() { + run { + val root = Root("test") + val data = Date() + val ti = DateTime(value = data, label = "Label").apply { + placeholder = "place" + name = "name" + disabled = true + } + root.add(ti) + val element = document.getElementById("test") + val id = ti.input.id + val datastr = data.toStringF(ti.format) + assertEquals("
", element?.innerHTML, "Should render correct date time input form control") + ti.validatorError = "Validation Error" + assertEquals("
Validation Error
", element?.innerHTML, "Should render correct date time input form control with validation error") + } + } + +} \ No newline at end of file -- cgit