packages feed

nvfetcher-0.6.0.0: test/GetGitCommitDateSpec.hs

{-# LANGUAGE OverloadedStrings #-}

module GetGitCommitDateSpec where

import Control.Monad.Trans.Reader
import Data.Default (def)
import Data.Text (Text)
import NvFetcher.GetGitCommitDate
import Test.Hspec
import Utils

spec :: Spec
spec =
  aroundShake $
    describe "get git commit date" $ do
      specifyChan "default format" $
        runGetGitCommitDateRule repo rev def
          `shouldReturnJust` "2021-05-31"
      specifyChan "custom format" $
        runGetGitCommitDateRule repo rev (DateFormat $ Just "%Y-%m-%d %H:%M:%S")
          `shouldReturnJust` "2021-05-31 18:43:48"

repo :: Text
repo = "https://gist.github.com/NickCao/6c4dbc4e15db5da107de6cdb89578375"

rev :: Text
rev = "8a5f37a8f80a3b05290707febf57e88661cee442"

runGetGitCommitDateRule :: Text -> Text -> DateFormat -> ReaderT ActionQueue IO (Maybe Text)
runGetGitCommitDateRule url rev format = runActionChan $ getGitCommitDate url rev format