packages feed

staversion-0.1.2.0: test/Staversion/Internal/BuildPlan/HackageSpec.hs

module Staversion.Internal.BuildPlan.HackageSpec (main,spec) where

import qualified Data.ByteString.Lazy as BSL
import System.FilePath ((</>))
import Test.Hspec

import Staversion.Internal.TestUtil (ver)

import Staversion.Internal.BuildPlan.Hackage
  ( parsePreferredVersionsJSON,
    latestVersion
  )

main :: IO ()
main = hspec spec

spec :: Spec
spec = describe "parsePreferredVersionsJSON" $ do
  it "should parse aeson_preferred.json" $ do
    yaml_data <- BSL.readFile ("test" </> "data" </> "aeson_preferred.json")
    rvers <- either (\e -> error ("parse error: " ++ e)) return $ parsePreferredVersionsJSON yaml_data
    latestVersion rvers `shouldBe` Just (ver [1,0,2,1])