bellroy/elm-actor-framework-sandbox/1.0.0

Formerly tricycle/elm-actor-framework-sandbox. Search finds this package by either name.

Framework.Sandbox

type alias SandboxComponent appFlags componentModel componentMsgIn componentMsgOut output =
SandboxComponent
appFlags
componentModel
componentMsgIn
componentMsgOut
output
appFlags
-> Component
appFlags
componentModel
componentMsgIn
componentMsgOut
output
componentMsgIn
-> SandboxComponent
appFlags
componentModel
componentMsgIn
componentMsgOut
output

Turn your Framework.Actor.Component into a SandboxComponent.

You'll have to supply it with a default (mocked) appFlags value so that we can render an initial output (See Framework.Sandbox.Browser for more info.)

fromComponent "Some Flags" component

Tests

TestCase
appFlags
componentModel
componentMsgIn
componentMsgOut
output
-> SandboxComponent
appFlags
componentModel
componentMsgIn
componentMsgOut
output
-> SandboxComponent
appFlags
componentModel
componentMsgIn
componentMsgOut
output

Add A TestCase to your SandboxComponent

The title of a TestCase has to be unique for your Sandbox.

fromComponent () component
    |> addTestCase
        (TestCase.make
            { title = "Increment"
            , description = "Increment the counters value by one."
            , test = \_ a b -> Expect (b - a) 1
            }
            |> TestCase.setActions [ Increment ]
        )
TestCase
appFlags
componentModel
componentMsgIn
componentMsgOut
output
-> SandboxComponent
appFlags
componentModel
componentMsgIn
componentMsgOut
output
-> SandboxComponent
appFlags
componentModel
componentMsgIn
componentMsgOut
output

Updates a TestCase based on its title (This is an alias of addTestCase (!))

String
-> SandboxComponent
appFlags
componentModel
componentMsgIn
componentMsgOut
output
-> Test

Give your tests a description and turn them into Elm tests!

fromComponent () component
    |> addTestCase
        (TestCase.make
            { title = "Increment"
            , description = "Increment the counters value by one."
            , test = \_ a b -> Expect (b - a) 1
            }
            |> TestCase.setActions [ Increment ]
        )
    |> toTest "My Counter Component"