scrive / elm-form / Form.Test

Helpers to test your validations. See an example validation test suite here.

describeValidation : String -> Form.Validate.Validation e a -> List ( String, ValidationExpectation e a ) -> Test

Test your Validations with a List of test input String, ValidationExpectation pairs.

import Form.Error
import Form.Test exposing (..)
import Form.Test.ValidationExpectation exposing (ValidationExpectation(..))
import Form.Validate

describeValidation "email"
   Form.Validate.email
   [ ( "valid@email.com", Valid )
   , ( "This is definitely not an email address"
     , Invalid Form.Error.InvalidEmail
     )
   ]

testValidation : Form.Validate.Validation e a -> ( String, ValidationExpectation e a ) -> Test

Create a single test case for a Validation.

import Form.Error
import Form.Test exposing (..)
import Form.Test.ValidationExpectation exposing (ValidationExpectation(..))
import Form.Validate

testValidation Form.Validate.email ( "valid@email.com", Valid )