packages feed

hspec-junit-formatter-1.1.1.0: library/Test/Hspec/JUnit/Schema.hs

module Test.Hspec.JUnit.Schema
  ( Suites (..)
  , Suite (..)
  , TestCase (..)
  , Location (..)
  , Result (..)
  ) where

import Prelude

import Data.Text (Text)
import Data.Time (UTCTime)
import Numeric.Natural

data Suites = Suites
  { suitesName :: Text
  , suitesSuites :: [Suite]
  }
  deriving stock (Show)

data Suite = Suite
  { suiteName :: Text
  , suiteTimestamp :: UTCTime
  , suiteCases :: [TestCase]
  }
  deriving stock (Show)

data TestCase = TestCase
  { testCaseLocation :: Maybe Location
  , testCaseClassName :: Text
  , testCaseName :: Text
  , testCaseDuration :: Double
  , testCaseResult :: Maybe Result
  }
  deriving stock (Show)

data Location = Location
  { locationFile :: FilePath
  , locationLine :: Natural
  }
  deriving stock (Show)

data Result = Failure Text Text | Skipped Text
  deriving stock (Show)