{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE PartialTypeSignatures #-}
module Main where
import Data.Typeable (Proxy(..))
import Test.Hspec
import Test.Hspec.QuickCheck
import PropMime
import Instances ()
import AgentPushKit.Model
import AgentPushKit.MimeTypes
main :: IO ()
main =
hspec $ modifyMaxSize (const 10) $ do
describe "JSON instances" $ do
pure ()
propMimeEq MimeJSON (Proxy :: Proxy AcceptedResponse)
propMimeEq MimeJSON (Proxy :: Proxy AddMemberInput)
propMimeEq MimeJSON (Proxy :: Proxy AgentToken)
propMimeEq MimeJSON (Proxy :: Proxy AgentTokenCreated)
propMimeEq MimeJSON (Proxy :: Proxy ApiKeySummary)
propMimeEq MimeJSON (Proxy :: Proxy AuthResponse)
propMimeEq MimeJSON (Proxy :: Proxy CreateAgentTokenInput)
propMimeEq MimeJSON (Proxy :: Proxy CreateOrganizationInput)
propMimeEq MimeJSON (Proxy :: Proxy CurrentAccount)
propMimeEq MimeJSON (Proxy :: Proxy DeletedResponse)
propMimeEq MimeJSON (Proxy :: Proxy DeliverySummary)
propMimeEq MimeJSON (Proxy :: Proxy Device)
propMimeEq MimeJSON (Proxy :: Proxy DisabledResponse)
propMimeEq MimeJSON (Proxy :: Proxy ErrorResponse)
propMimeEq MimeJSON (Proxy :: Proxy EventDetail)
propMimeEq MimeJSON (Proxy :: Proxy EventFilter)
propMimeEq MimeJSON (Proxy :: Proxy EventPage)
propMimeEq MimeJSON (Proxy :: Proxy EventSummary)
propMimeEq MimeJSON (Proxy :: Proxy FilterGroup)
propMimeEq MimeJSON (Proxy :: Proxy FilterNot)
propMimeEq MimeJSON (Proxy :: Proxy HealthResponse)
propMimeEq MimeJSON (Proxy :: Proxy IngestionResult)
propMimeEq MimeJSON (Proxy :: Proxy InheritedResponse)
propMimeEq MimeJSON (Proxy :: Proxy Membership)
propMimeEq MimeJSON (Proxy :: Proxy MembershipUser)
propMimeEq MimeJSON (Proxy :: Proxy Organization)
propMimeEq MimeJSON (Proxy :: Proxy OrganizationApiKeyCreated)
propMimeEq MimeJSON (Proxy :: Proxy OrganizationCount)
propMimeEq MimeJSON (Proxy :: Proxy OrganizationCreated)
propMimeEq MimeJSON (Proxy :: Proxy OrganizationRecord)
propMimeEq MimeJSON (Proxy :: Proxy PasswordLoginInput)
propMimeEq MimeJSON (Proxy :: Proxy PasswordResetCompleteInput)
propMimeEq MimeJSON (Proxy :: Proxy PasswordResetRequestInput)
propMimeEq MimeJSON (Proxy :: Proxy PreferenceRecord)
propMimeEq MimeJSON (Proxy :: Proxy ProviderLoginInput)
propMimeEq MimeJSON (Proxy :: Proxy RegisterDeviceInput)
propMimeEq MimeJSON (Proxy :: Proxy RegisterInput)
propMimeEq MimeJSON (Proxy :: Proxy RegisterWebPushSubscriptionInput)
propMimeEq MimeJSON (Proxy :: Proxy RegisterWebPushSubscriptionInputKeys)
propMimeEq MimeJSON (Proxy :: Proxy RevokedResponse)
propMimeEq MimeJSON (Proxy :: Proxy SearchEventsInput)
propMimeEq MimeJSON (Proxy :: Proxy SendEventInput)
propMimeEq MimeJSON (Proxy :: Proxy Service)
propMimeEq MimeJSON (Proxy :: Proxy ServiceAllOfCount)
propMimeEq MimeJSON (Proxy :: Proxy ServicePreference)
propMimeEq MimeJSON (Proxy :: Proxy ServiceSummary)
propMimeEq MimeJSON (Proxy :: Proxy SetEnabledInput)
propMimeEq MimeJSON (Proxy :: Proxy TextFilterCondition)
propMimeEq MimeJSON (Proxy :: Proxy TimeFilterCondition)
propMimeEq MimeJSON (Proxy :: Proxy TypeOverride)
propMimeEq MimeJSON (Proxy :: Proxy User)
propMimeEq MimeJSON (Proxy :: Proxy WebPushConfiguration)
propMimeEq MimeJSON (Proxy :: Proxy WebPushSubscription)