From fc869603540a9ab68df8d9f91a050280cc429802 Mon Sep 17 00:00:00 2001 From: parsonsmatt Date: Wed, 14 May 2025 12:53:00 -0600 Subject: [PATCH] Demonstrate foreign reference bug --- .../Database/Persist/TH/ForeignRefSpec.hs | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/persistent/test/Database/Persist/TH/ForeignRefSpec.hs b/persistent/test/Database/Persist/TH/ForeignRefSpec.hs index b4e694e57..c95fe11e2 100644 --- a/persistent/test/Database/Persist/TH/ForeignRefSpec.hs +++ b/persistent/test/Database/Persist/TH/ForeignRefSpec.hs @@ -86,10 +86,27 @@ ParentExplicit ChildExplicit name Text Foreign ParentExplicit OnDeleteCascade OnUpdateCascade fkparent name + +CustomIdReference + Id ForeignTargetId + |] spec :: Spec spec = describe "ForeignRefSpec" $ do + describe "CustomIdReference" $ do + let + edef = + entityDef $ Proxy @CustomIdReference + it "should have a foreign reference" $ do + case getEntityId edef of + EntityIdField fieldDef -> + fieldReference fieldDef + `shouldBe` + ForeignRef (EntityNameHS "ForeignTarget") + other -> + fail $ "Expected EntityIdField, got: " <> show other + describe "HasCustomName" $ do let edef = @@ -99,9 +116,6 @@ spec = describe "ForeignRefSpec" $ do `shouldBe` EntityNameDB "custom_name" - it "should compile" $ do - True `shouldBe` True - describe "ForeignPrimarySource" $ do let fpsDef =