graphql-engine/server/src-test/Hasura/Backends/DataConnector/API/V0/OrderBySpec.hs
Daniel Chambers 4f835623b1 Rename Data Wrapper to Data Connector [GDW-89]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4400
GitOrigin-RevId: 2d90542f95ef4dad70c8dfe1ca3b4c1f3bdaa527
2022-05-02 05:04:07 +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.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