Skip to content

Instantly share code, notes, and snippets.

@ocharles
Created December 1, 2011 18:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ocharles/68fb8f358274a24479e2 to your computer and use it in GitHub Desktop.
Save ocharles/68fb8f358274a24479e2 to your computer and use it in GitHub Desktop.
newtype LanguageDBState = LanguageDBState { expandState :: (String, [LoadedEntity Language]) }
deriving (Show)
instance Arbitrary LanguageDBState where
arbitrary =
elements [
LanguageDBState
( [str| INSERT INTO language (iso_code, name) VALUES ('eng', 'English') |]
, [Entity { entityRef = Ref (toSql ("eng" :: String))
, entityInfo = Language { languageName = "English"
, languageIsoCode = "eng" } }]
)
]
prop_language_allLanguages = monadicIO $ do
(sql, languages) <- expandState `fmap` (pick arbitrary :: PropertyM IO LanguageDBState)
fetched <- run $ databaseTest $ (runRaw sql >> allLanguages)
assert $ fetched == languages
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment