graphql-engine/server/src-test/Hasura/Backends/DataConnector/API/V0/OrderBySpec.hs
Daniel Chambers 7ec5e79bd1 AVRelationship Support for Data Connectors [GDW-123]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4735
GitOrigin-RevId: f23965a6c7ea8a0e6b25dbf9d3faeccec0ef6ec3
2022-06-24 06:59:52 +00:00

41 lines
1.1 KiB
Haskell

{-# 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
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