@@ -106,6 +106,7 @@ internal class RealRenderTesterTest {
106106 runningSideEffect(" the key" ) {}
107107 }
108108 val tester = workflow.testRender(Unit )
109+ .requireExplicitSideEffectExpectations()
109110 .expectSideEffect(key = " the key" )
110111 .expectSideEffect(description = " duplicate match" ) { it == " the key" }
111112
@@ -326,7 +327,7 @@ internal class RealRenderTesterTest {
326327 val workflow = Workflow .stateless<Unit , Nothing , Unit > {
327328 runningSideEffect(" effect" ) {}
328329 }
329- val tester = workflow.testRender(Unit )
330+ val tester = workflow.testRender(Unit ).requireExplicitSideEffectExpectations()
330331
331332 val error = assertFailsWith<AssertionError > {
332333 tester.render()
@@ -340,6 +341,7 @@ internal class RealRenderTesterTest {
340341 runningSideEffect(" unexpected" ) {}
341342 }
342343 val tester = workflow.testRender(Unit )
344+ .requireExplicitSideEffectExpectations()
343345 .expectSideEffect(" expected" )
344346
345347 val error = assertFailsWith<AssertionError > {
@@ -353,6 +355,7 @@ internal class RealRenderTesterTest {
353355 runningSideEffect(" effect" ) {}
354356 }
355357 val tester = workflow.testRender(Unit )
358+ .requireExplicitSideEffectExpectations()
356359 .expectSideEffect(" effect" )
357360 .expectSideEffect(description = " custom" , exactMatch = true ) { key -> " effect" in key }
358361
@@ -546,6 +549,30 @@ internal class RealRenderTesterTest {
546549 tester.render()
547550 }
548551
552+ @Test fun `runningSideEffect doesn't throw when none expected` () {
553+ val workflow = Workflow .stateless<Unit , Nothing , Unit > {
554+ runningSideEffect(key = " foo" ) { }
555+ }
556+ val tester = workflow.testRender(Unit )
557+ tester.render()
558+ }
559+
560+ @Test fun `runningSideEffect does throw when none expected and require explicit side effect is set` () {
561+ val key = " foo"
562+ val workflow = Workflow .stateless<Unit , Nothing , Unit > {
563+ runningSideEffect(key = key) { }
564+ }
565+ val tester = workflow.testRender(Unit ).requireExplicitSideEffectExpectations()
566+ val error = assertFailsWith<AssertionError > {
567+ tester.render()
568+ }
569+
570+ assertEquals(
571+ " Tried to run unexpected side effect with key \" $key \" " ,
572+ error.message
573+ )
574+ }
575+
549576 @Test fun `runningWorker does throw when none expected and require explicit workers is set` () {
550577 class MySpecialWorker : Worker <Nothing > {
551578 override fun doesSameWorkAs (otherWorker : Worker <* >): Boolean = true
0 commit comments