graphql-engine/server/lib/dc-api/test/Test/QuerySpec.hs
2022-09-27 23:42:32 +00:00

26 lines
1.2 KiB
Haskell

module Test.QuerySpec (spec) where
import Control.Monad (when)
import Data.Maybe (isJust)
import Hasura.Backends.DataConnector.API (Capabilities (..), ComparisonCapabilities (..), Config, Routes (..), SourceName)
import Servant.API (NamedRoutes)
import Servant.Client (Client)
import Test.Data (TestData)
import Test.Hspec
import Test.QuerySpec.AggregatesSpec qualified
import Test.QuerySpec.BasicSpec qualified
import Test.QuerySpec.FilteringSpec qualified
import Test.QuerySpec.OrderBySpec qualified
import Test.QuerySpec.RelationshipsSpec qualified
import Prelude
spec :: TestData -> Client IO (NamedRoutes Routes) -> SourceName -> Config -> Capabilities -> Spec
spec testData api sourceName config capabilities@Capabilities {..} = do
describe "query API" do
Test.QuerySpec.BasicSpec.spec testData api sourceName config
Test.QuerySpec.FilteringSpec.spec testData api sourceName config _cComparisons
Test.QuerySpec.OrderBySpec.spec testData api sourceName config capabilities
when (isJust _cRelationships) $
Test.QuerySpec.RelationshipsSpec.spec testData api sourceName config (_cComparisons >>= _ccSubqueryComparisonCapabilities)
Test.QuerySpec.AggregatesSpec.spec testData api sourceName config _cRelationships