genvalidity-persistent 0.0.0.0 → 1.0.0.0
raw patch · 6 files changed
+40/−47 lines, 6 filesdep ~genvalidityPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: genvalidity
API changes (from Hackage documentation)
- Data.GenValidity.Persist: instance (Data.GenValidity.GenUnchecked a, Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend a) => Data.GenValidity.GenUnchecked (Database.Persist.Class.PersistEntity.Entity a)
- Data.GenValidity.Persist: instance (Data.GenValidity.GenValid a, Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend a) => Data.GenValidity.GenValid (Database.Persist.Class.PersistEntity.Entity a)
- Data.GenValidity.Persist: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend record => Data.GenValidity.GenUnchecked (Database.Persist.Class.PersistEntity.Key record)
- Data.GenValidity.Persist: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend record => Data.GenValidity.GenValid (Database.Persist.Class.PersistEntity.Key record)
+ Data.GenValidity.Persist: instance (Data.GenValidity.GenValid a, Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend a) => Data.GenValidity.GenValid (Database.Persist.Class.PersistEntity.Entity a)
+ Data.GenValidity.Persist: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend record => Data.GenValidity.GenValid (Database.Persist.Class.PersistEntity.Key record)
Files
- CHANGELOG.md +7/−0
- LICENSE +1/−1
- bench/Main.hs +1/−2
- genvalidity-persistent.cabal +7/−6
- src/Data/GenValidity/Persist.hs +1/−15
- test/Data/GenValidity/PersistSpec.hs +23/−23
+ CHANGELOG.md view
@@ -0,0 +1,7 @@+# Changelog++## [1.0.0.0] - 2021-11-20++### Changed++* Compatibility with `genvalidity >= 1.0.0.0`
LICENSE view
@@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2016-2020 Tom Sydney Kerckhove+Copyright (c) 2016-2021 Tom Sydney Kerckhove Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal
bench/Main.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE FlexibleInstances #-}@@ -38,8 +39,6 @@ |] instance Validity Thing--instance GenUnchecked Thing instance GenValid Thing
genvalidity-persistent.cabal view
@@ -1,23 +1,24 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.33.0.+-- This file has been generated from package.yaml by hpack version 0.34.4. -- -- see: https://github.com/sol/hpack------ hash: f8a0ec9a40a5f3d148068cf9d75a3f6c86751f3038e70bf242194a2528fefd75 name: genvalidity-persistent-version: 0.0.0.0+version: 1.0.0.0 synopsis: GenValidity support for Persistent category: Testing homepage: https://github.com/NorfairKing/validity#readme bug-reports: https://github.com/NorfairKing/validity/issues author: Tom Sydney Kerckhove maintainer: syd@cs-syd.eu-copyright: Copyright: (c) 2020 Tom Sydney Kerckhove+copyright: Copyright: (c) 2016-2021 Tom Sydney Kerckhove license: MIT license-file: LICENSE build-type: Simple+extra-source-files:+ LICENSE+ CHANGELOG.md source-repository head type: git@@ -34,7 +35,7 @@ QuickCheck , base >=4.7 && <5 , containers- , genvalidity+ , genvalidity >=1.0 , genvalidity-containers , persistent >=0.5 , validity-containers
src/Data/GenValidity/Persist.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE UndecidableInstances #-}@@ -16,20 +15,9 @@ import Database.Persist.Sql import Test.QuickCheck -instance ToBackendKey SqlBackend record => GenUnchecked (Key record) where- genUnchecked = toSqlKey <$> genUnchecked- shrinkUnchecked = fmap toSqlKey . shrinkValid . fromSqlKey- instance ToBackendKey SqlBackend record => GenValid (Key record) where genValid = toSqlKey <$> genValid- shrinkValid = shrinkUnchecked--instance- (GenUnchecked a, ToBackendKey SqlBackend a) =>- GenUnchecked (Entity a)- where- genUnchecked = Entity <$> genUnchecked <*> genUnchecked- shrinkUnchecked (Entity k v) = [Entity k' v' | (k', v') <- shrinkUnchecked (k, v)]+ shrinkValid = fmap toSqlKey . shrinkValid . fromSqlKey instance (GenValid a, ToBackendKey SqlBackend a) => GenValid (Entity a) where genValid = Entity <$> genValid <*> genValid@@ -84,10 +72,8 @@ genSeperateIdsFor [] = pure [] genSeperateIdsFor (a : as) = NE.toList <$> genSeperateIdsForNE (a :| as) -#if MIN_VERSION_containers(0,6,0) shrinkValidWithSeperateIds :: (PersistEntity a, ToBackendKey SqlBackend a, GenValid a) => [Entity a] -> [[Entity a]] shrinkValidWithSeperateIds = filter (distinctOrd . map entityKey) . shrinkValid-#endif
test/Data/GenValidity/PersistSpec.hs view
@@ -1,5 +1,7 @@+{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -40,8 +42,6 @@ instance Validity Thing -instance GenUnchecked Thing- instance GenValid Thing spec :: Spec@@ -50,25 +50,25 @@ shrinkValidSpec @ThingId genValidSpec @(Entity Thing) shrinkValidSpec @(Entity Thing)- describe "genSeperateIds"- $ it "generates values with seperate ids"- $ forAll genSeperateIds- $ \is -> distinctOrd (is :: [Key Thing])- describe "genSeperateIdsFor"- $ it "generates values with seperate ids"- $ forAll genValid- $ \as ->- forAll (genSeperateIdsFor as) $ \es -> distinctOrd $ map entityKey (es :: [Entity Thing])+ describe "genSeperateIds" $+ it "generates values with seperate ids" $+ forAll genSeperateIds $+ \is -> distinctOrd (is :: [Key Thing])+ describe "genSeperateIdsFor" $+ it "generates values with seperate ids" $+ forAll genValid $+ \as ->+ forAll (genSeperateIdsFor as) $ \es -> distinctOrd $ map entityKey (es :: [Entity Thing]) describe "genValidsWithSeperateIds" $ do- it "generates values with seperate ids"- $ forAll (genValidsWithSeperateIDs genValid)- $ \es ->- distinctOrd $ map entityKey (es :: [Entity Thing])- it "generates values with seperate ids"- $ forAll (genValidsWithSeperateIDs genValid)- $ \es ->- distinctOrd $ map entityKey (es :: [Entity Thing])- describe "validsWithSeperateIDs"- $ it "generates values with seperate ids"- $ forAll validsWithSeperateIDs- $ \es -> distinctOrd $ map entityKey (es :: [Entity Thing])+ it "generates values with seperate ids" $+ forAll (genValidsWithSeperateIDs genValid) $+ \es ->+ distinctOrd $ map entityKey (es :: [Entity Thing])+ it "generates values with seperate ids" $+ forAll (genValidsWithSeperateIDs genValid) $+ \es ->+ distinctOrd $ map entityKey (es :: [Entity Thing])+ describe "validsWithSeperateIDs" $+ it "generates values with seperate ids" $+ forAll validsWithSeperateIDs $+ \es -> distinctOrd $ map entityKey (es :: [Entity Thing])