diff --git a/src/Foundation.hs b/src/Foundation.hs index 8282f3a78..d1e2e9892 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -151,6 +151,7 @@ deriving instance Generic SubmissionR deriving instance Generic MaterialR deriving instance Generic TutorialR deriving instance Generic ExamR +deriving instance Generic CourseApplicationR deriving instance Generic (Route UniWorX) -- | Convenient Type Synonyms: diff --git a/test/FoundationSpec.hs b/test/FoundationSpec.hs index 1edc9baa2..cc562d816 100644 --- a/test/FoundationSpec.hs +++ b/test/FoundationSpec.hs @@ -16,7 +16,13 @@ instance Arbitrary (Route Auth) where ] instance Arbitrary (Route EmbeddedStatic) where - arbitrary = embeddedResourceR <$> arbitrary <*> arbitrary + arbitrary = do + let printableText = pack . filter (/= '/') . getPrintableString <$> arbitrary + pathLength <- getPositive <$> arbitrary + path <- replicateM pathLength printableText + paramNum <- getNonNegative <$> arbitrary + params <- replicateM paramNum $ (,) <$> printableText <*> printableText + return $ embeddedResourceR path params instance Arbitrary CourseR where arbitrary = genericArbitrary @@ -42,6 +48,10 @@ instance Arbitrary ExamR where arbitrary = genericArbitrary shrink = genericShrink +instance Arbitrary CourseApplicationR where + arbitrary = genericArbitrary + shrink = genericShrink + instance Arbitrary (Route UniWorX) where arbitrary = genericArbitrary shrink = genericShrink