packages feed

persistent-test-2.13.2.1: src/CustomPersistFieldTest.hs

{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-unused-top-binds #-}

module CustomPersistFieldTest (specsWith, customFieldMigrate) where

import CustomPersistField
import Init

share
    [mkPersist sqlSettings{mpsGeneric = True}, mkMigrate "customFieldMigrate"]
    [persistLowerCase|
  BlogPost
    article Markdown
    deriving Show Eq
|]

specsWith :: (Runner backend m) => RunDb backend m -> Spec
specsWith runDB = describe "Custom persist field" $ do
    it "should read what it wrote" $ runDB $ do
        let
            originalBlogPost = BlogPost "article"
        blogPostId <- insert originalBlogPost
        Just newBlogPost <- get blogPostId
        liftIO $ originalBlogPost @?= newBlogPost