aboutsummaryrefslogtreecommitdiff
path: root/kvision-modules/kvision-redux/src/test/kotlin
diff options
context:
space:
mode:
authorRobert Jaros <rjaros@finn.pl>2019-06-21 15:37:03 +0200
committerRobert Jaros <rjaros@finn.pl>2019-06-21 15:37:03 +0200
commit075280076d373dad01666397f7b857aad8450b7c (patch)
treebdd44a43c9594fbd6d4a418e6d5663a727a17d36 /kvision-modules/kvision-redux/src/test/kotlin
parentd9f1a90c772719d14540eb2bf7bc3b8384fa7a72 (diff)
downloadkvision-075280076d373dad01666397f7b857aad8450b7c.tar.gz
kvision-075280076d373dad01666397f7b857aad8450b7c.tar.bz2
kvision-075280076d373dad01666397f7b857aad8450b7c.zip
Simplification of the Redux module.
Diffstat (limited to 'kvision-modules/kvision-redux/src/test/kotlin')
-rw-r--r--kvision-modules/kvision-redux/src/test/kotlin/test/pl/treksoft/kvision/redux/ReduxStoreSpec.kt19
-rw-r--r--kvision-modules/kvision-redux/src/test/kotlin/test/pl/treksoft/kvision/redux/StateBindingSpec.kt2
2 files changed, 9 insertions, 12 deletions
diff --git a/kvision-modules/kvision-redux/src/test/kotlin/test/pl/treksoft/kvision/redux/ReduxStoreSpec.kt b/kvision-modules/kvision-redux/src/test/kotlin/test/pl/treksoft/kvision/redux/ReduxStoreSpec.kt
index 3be83556..b45eb9dd 100644
--- a/kvision-modules/kvision-redux/src/test/kotlin/test/pl/treksoft/kvision/redux/ReduxStoreSpec.kt
+++ b/kvision-modules/kvision-redux/src/test/kotlin/test/pl/treksoft/kvision/redux/ReduxStoreSpec.kt
@@ -21,15 +21,13 @@
*/
package test.pl.treksoft.kvision.redux
-import kotlinx.serialization.Serializable
import pl.treksoft.kvision.redux.createReduxStore
import redux.RAction
import test.pl.treksoft.kvision.SimpleSpec
import kotlin.test.Test
import kotlin.test.assertEquals
-@Serializable
-data class TestState(val counter: Int)
+data class TestState(val counter: Int, val values: List<Int>)
sealed class TestAction : RAction {
object Inc : TestAction()
@@ -38,10 +36,10 @@ sealed class TestAction : RAction {
fun testReducer(state: TestState, action: TestAction): TestState = when (action) {
is TestAction.Inc -> {
- state.copy(counter = state.counter + 1)
+ state.copy(counter = state.counter + 1, values = state.values + state.counter)
}
is TestAction.Dec -> {
- state.copy(counter = state.counter - 1)
+ state.copy(counter = state.counter - 1, values = state.values + state.counter)
}
}
@@ -50,20 +48,21 @@ class ReduxStoreSpec : SimpleSpec {
@Test
fun getState() {
run {
- val store = createReduxStore(::testReducer, TestState(10))
- assertEquals(TestState(10), store.getState())
+ val store = createReduxStore(::testReducer, TestState(10, listOf()))
+ assertEquals(TestState(10, listOf()), store.getState())
}
}
@Test
fun dispatch() {
run {
- val store = createReduxStore(::testReducer, TestState(10))
+ val store = createReduxStore(::testReducer, TestState(10, listOf()))
store.dispatch(TestAction.Inc)
store.dispatch(TestAction.Inc)
store.dispatch(TestAction.Inc)
store.dispatch(TestAction.Dec)
- assertEquals(TestState(12), store.getState())
+ store.dispatch(TestAction.Dec)
+ assertEquals(TestState(11, listOf(10, 11, 12, 13, 12)), store.getState())
}
}
@@ -71,7 +70,7 @@ class ReduxStoreSpec : SimpleSpec {
fun subscribe() {
run {
var counter = 0
- val store = createReduxStore(::testReducer, TestState(10))
+ val store = createReduxStore(::testReducer, TestState(10, listOf()))
store.subscribe {
counter++
}
diff --git a/kvision-modules/kvision-redux/src/test/kotlin/test/pl/treksoft/kvision/redux/StateBindingSpec.kt b/kvision-modules/kvision-redux/src/test/kotlin/test/pl/treksoft/kvision/redux/StateBindingSpec.kt
index 5204402d..ec32d0d6 100644
--- a/kvision-modules/kvision-redux/src/test/kotlin/test/pl/treksoft/kvision/redux/StateBindingSpec.kt
+++ b/kvision-modules/kvision-redux/src/test/kotlin/test/pl/treksoft/kvision/redux/StateBindingSpec.kt
@@ -21,7 +21,6 @@
*/
package test.pl.treksoft.kvision.redux
-import kotlinx.serialization.Serializable
import pl.treksoft.kvision.html.Div.Companion.div
import pl.treksoft.kvision.panel.Root
import pl.treksoft.kvision.panel.SimplePanel
@@ -33,7 +32,6 @@ import test.pl.treksoft.kvision.DomSpec
import kotlin.browser.document
import kotlin.test.Test
-@Serializable
data class State(val counter: Int)
sealed class StateAction : RAction {