{-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE OverloadedStrings #-} module OpenAPI.Generate.OperationGetOperationDescriptionSpec where import qualified Data.Map as Map import OpenAPI.Generate.Internal.Operation import OpenAPI.Generate.Types as OAT import Test.Hspec spec :: Spec spec = let emptyResponseObject = OAT.ResponsesObject { default' = Nothing, range1XX = Nothing, range2XX = Nothing, range3XX = Nothing, range4XX = Nothing, range5XX = Nothing, perStatusCode = Map.empty } testOperation = OAT.OperationObject { tags = [], summary = Nothing, description = Nothing, externalDocs = Nothing, operationId = Nothing, parameters = [], requestBody = Nothing, responses = emptyResponseObject, deprecated = False, security = [], servers = [] } testOperation2 = testOperation { summary = Just "my summary" } :: OAT.OperationObject testOperation3 = testOperation { description = Just "my description" } :: OAT.OperationObject testOperation4 = testOperation { summary = Just "my summary", description = Just "my description" } :: OAT.OperationObject in describe "getOperationDesciption" $ do it "should return an empty string" (getOperationDescription testOperation `shouldBe` "") it "should return description" (getOperationDescription testOperation2 `shouldBe` "my summary") it "should return summary" (getOperationDescription testOperation3 `shouldBe` "my description") it "should return description" (getOperationDescription testOperation4 `shouldBe` "my description")