bellroy / elm-actor-framework-sandbox / Framework.Sandbox


type alias SandboxComponent appFlags componentModel componentMsgIn componentMsgOut output =
Internal.SandboxComponent.SandboxComponent appFlags componentModel componentMsgIn componentMsgOut output

fromComponent : appFlags -> Framework.Actor.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

addTestCase : Internal.TestCases.TestCase.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 ]
        )

updateTestCase : Internal.TestCases.TestCase.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 (!))

toTest : 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"