packages feed

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 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])