avro-0.3.6.0: test/Avro/THEnumSpec.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-}
module Avro.THEnumSpec
where
import Data.Avro
import Data.Avro.Deriving
import Test.Hspec
{-# ANN module ("HLint: ignore Redundant do" :: String) #-}
deriveAvroWithOptions (defaultDeriveOptions { namespaceBehavior = HandleNamespaces }) "test/data/enums.avsc"
spec :: Spec
spec = describe "Avro.THEnumSpec: Schema with enums" $ do
it "should do roundtrip" $ do
let msg = Haskell'avro'example'EnumWrapper
{ haskell'avro'example'EnumWrapperId = 42
, haskell'avro'example'EnumWrapperName = "Text"
, haskell'avro'example'EnumWrapperReason = Haskell'avro'example'EnumReasonBecause
}
fromAvro (toAvro msg) `shouldBe` pure msg