data-validation-0.1.2.4: test/Data/ExampleSpec.hs
module Data.ExampleSpec where
------------------------------------------------------------------------------------------------------------------------
import Prelude
import Data.Validation
import Test.Hspec
------------------------------------------------------------------------------------------------------------------------
import Examples.Data.ComplexTypes
import Examples.Data.Primitives
------------------------------------------------------------------------------------------------------------------------
spec :: Spec
spec = parallel $ do
describe "Example ComplexTypes Validation" $ do
it "Valid UserVM produces valid Proof" $ do
let validForm = UserVM (Just "Hugh Mann") (Just "person@earth.com") Nothing (Just Email) Nothing
userProof = validate validForm
userProof `shouldSatisfy` isValid
it "Invalid UserVM produces invalid Proof" $ do
let invalidForm = UserVM (Just "broken") Nothing (Just "123") (Just Email) Nothing
userFailure = validate invalidForm
userFailure `shouldSatisfy` isInvalid