mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-18 21:12:09 +03:00
4f835623b1
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4400 GitOrigin-RevId: 2d90542f95ef4dad70c8dfe1ca3b4c1f3bdaa527
41 lines
1.1 KiB
Haskell
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
|