bugsnag-1.1.0.0: test/Network/Bugsnag/BeforeNotifySpec.hs
module Network.Bugsnag.BeforeNotifySpec
( spec
) where
import Prelude
import Control.Exception
import Data.Bugsnag hiding (Exception)
import Network.Bugsnag.BeforeNotify
import Test.Hspec
data FooException = FooException
deriving stock (Show)
deriving anyclass (Exception)
data BarException = BarException
deriving stock (Show)
deriving anyclass (Exception)
data BazException = BazException
deriving stock (Show)
deriving anyclass (Exception)
spec :: Spec
spec = do
describe "updateEventFromOriginalException" $ do
it "can update based on unknown exception types" $ do
let
asFoo FooException = setGroupingHash "Saw Foo"
asBar BarException = setGroupingHash "Saw Bar"
bn =
mconcat
[ updateEventFromOriginalException asFoo
, updateEventFromOriginalException asBar
]
event_groupingHash (runBeforeNotify bn FooException defaultEvent)
`shouldBe` Just "Saw Foo"
event_groupingHash (runBeforeNotify bn BarException defaultEvent)
`shouldBe` Just "Saw Bar"
event_groupingHash (runBeforeNotify bn BazException defaultEvent)
`shouldBe` Nothing