1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
module GitHub.Actions.WorkflowJobSpec where
import qualified GitHub as GH
import GitHub.Data.Id
import Prelude ()
import Prelude.Compat
import Data.Aeson (eitherDecodeStrict)
import Data.ByteString (ByteString)
import Data.FileEmbed (embedFile)
import Test.Hspec (Spec, describe, it, shouldBe)
fromRightS :: Show a => Either a b -> b
fromRightS (Right b) = b
fromRightS (Left a) = error $ "Expected a Right and got a Left" ++ show a
spec :: Spec
spec = do
describe "decoding workflow jobs payloads" $ do
it "decodes workflow job" $ do
GH.jobId workflowJob `shouldBe` Id 9183275828
where
workflowJob:: GH.Job
workflowJob=
fromRightS (eitherDecodeStrict workflowJobPayload)
workflowJobPayload :: ByteString
workflowJobPayload = $(embedFile "fixtures/actions/workflow-job.json")
|