heyefi-2.0.0.0: test/HEyefi/LogSpec.hs
module HEyefi.LogSpec where
import Data.Time.Clock (getCurrentTime)
import Data.Time.Format (formatTime, defaultTimeLocale)
import HEyefi.Config
import HEyefi.Log
import HEyefi.Prelude
import HEyefi.SpecPrelude
import HEyefi.Types
currentTime :: IO Text
currentTime = do
t <- getCurrentTime
return (pack (formatTime defaultTimeLocale "%FT%T" t))
spec :: Spec
spec = do
describe "logDebug" (do
it "should output nothing when debugging is not enabled" (
do
result <- capture_ (runWithEmptyConfig (logDebug "hi"))
result `shouldBe` "")
it "should output somethign when debugging enabled" (
do
let config = emptyConfig { logLevel = Debug }
result <- capture_ (runWithConfig config (logDebug "hi"))
result `tshouldContain` "Debug"
result `tshouldContain` "hi"))
describe "logInfo"
(it "should output something" (
do
result <- capture_ (runWithEmptyConfig (logInfo "hi"))
time <- currentTime
result `tshouldContain` time
result `tshouldContain` "Info"
result `tshouldContain` "hi"))