graphql-engine/server/src-test/Hasura/Backends/DataConnector/API/V0/OrderBySpec.hs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

41 lines
1.1 KiB
Haskell
Raw Normal View History

{-# LANGUAGE OverloadedLists #-}
{-# LANGUAGE QuasiQuotes #-}
module Hasura.Backends.DataConnector.API.V0.OrderBySpec (spec, genOrderBy, genOrderType) where
import Data.Aeson.QQ.Simple (aesonQQ)
import Hasura.Backends.DataConnector.API.V0.API
import Hasura.Backends.DataConnector.API.V0.ColumnSpec (genColumnName)
import Hasura.Prelude
import Hedgehog
import Hedgehog.Gen qualified as Gen
import Test.Aeson.Utils (jsonOpenApiProperties, testToFromJSONToSchema)
import Test.Hspec
spec :: Spec
spec = do
describe "OrderBy" $ do
testToFromJSONToSchema
(OrderBy (ColumnName "my_column_name") Ascending)
[aesonQQ|
{ "column": "my_column_name",
"ordering": "asc"
}
|]
jsonOpenApiProperties genOrderBy
describe "OrderType" $ do
describe "Ascending" $
testToFromJSONToSchema Ascending [aesonQQ|"asc"|]
describe "Descending" $
testToFromJSONToSchema Descending [aesonQQ|"desc"|]
jsonOpenApiProperties genOrderType
genOrderBy :: MonadGen m => m OrderBy
genOrderBy =
OrderBy
<$> genColumnName
<*> genOrderType
genOrderType :: MonadGen m => m OrderType
genOrderType = Gen.enumBounded