taskell-1.9.2.0: test/IO/GitHub/CardsTest.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
module IO.GitHub.CardsTest
( test_cards
) where
import ClassyPrelude
import Test.Tasty
import Test.Tasty.HUnit
import Data.Aeson
import IO.HTTP.GitHub.Card (MaybeCard (MaybeCard))
decodeCards :: Text -> Either String [MaybeCard]
decodeCards txt = eitherDecodeStrict $ encodeUtf8 txt
-- tests
test_cards :: TestTree
test_cards =
testGroup
"IO.HTTP.GitHub.Card"
[ testCase
"parses basic card"
(assertEqual
"Gives back card"
(Right [MaybeCard (Just "blah") Nothing])
(decodeCards "[{\"note\": \"blah\"}]"))
, testCase
"parses basic card"
(assertEqual
"Gives back card"
(Right
[MaybeCard Nothing (Just "https://api.github.com/projects/columns/7850783")])
(decodeCards
"[{\"note\": null, \"content_url\": \"https://api.github.com/projects/columns/7850783\"}]"))
]