xing-api-0.1.1: tests/Types/AwardTest.hs
{-# OPTIONS_GHC -F -pgmF htfpp #-}
{-# LANGUAGE OverloadedStrings #-}
module Types.AwardTest where
import Test.Framework
import Web.XING
import Data.Maybe
import Data.Aeson
import qualified Data.ByteString.Lazy as BSL
-- valid fields
noContentAward :: BSL.ByteString
noContentAward
= " { \
\ \"name\": \"\", \
\ \"date_awarded\": 2007, \
\ \"url\": null \
\ } "
test_noContent :: IO ()
test_noContent
= assertValidAward noContentAward
test_noContentMappedCorrect :: IO ()
test_noContentMappedCorrect
= assertEqual (Award "" 2007 Nothing) (fromJust.parseAward $ noContentAward)
test_fullAwardMappedCorrect :: IO ()
test_fullAwardMappedCorrect
= assertEqual (Award "Spacewalker" 1998 (Just "http://nasa.gov")) ((fromJust.parseAward)
" { \
\ \"name\": \"Spacewalker\", \
\ \"url\": \"http://nasa.gov\", \
\ \"date_awarded\": 1998 \
\ } ")
parseAward
:: BSL.ByteString
-> Maybe Award
parseAward = decode
assertValidAward
:: BSL.ByteString
-> IO ()
assertValidAward = assertBool . isJust . parseAward