packages feed

hablo-1.1.0.1: test/Mock/Blog.hs

{-# LANGUAGE NamedFieldPuns #-}
module Mock.Blog (
      noCards
    , noRSS
    , simple
  ) where

import Blog (Blog(..))
import qualified Data.Map as Map (fromList)
import qualified Data.Set as Set (fromList)
import qualified Mock.Article (simple)
import qualified Mock.Blog.Path (defaultArticles)
import qualified Mock.Blog.Skin (simple)
import qualified Mock.Blog.Template (simple)
import qualified Mock.Blog.URL (simple, noCards)
import qualified Mock.Blog.Wording (defaultWording)

simple :: IO Blog
simple =
  let wording = Mock.Blog.Wording.defaultWording in do
  templates <- Mock.Blog.Template.simple
  return $ Blog {
        articles = Map.fromList [("test", Mock.Article.simple)]
      , hasRSS = True
      , name = "The Test Blog"
      , pages = Map.fromList []
      , path = Mock.Blog.Path.defaultArticles
      , skin = Mock.Blog.Skin.simple
      , tags = Map.fromList [("testing", Set.fromList ["test"])]
      , templates
      , urls = Mock.Blog.URL.simple
      , wording
    }

noCards :: IO Blog
noCards = (\b -> b {urls = Mock.Blog.URL.noCards}) <$> simple

noRSS :: IO Blog
noRSS = (\b -> b {hasRSS = False}) <$> simple