Skip to content

Commit

Permalink
Add test for querying burn events
Browse files Browse the repository at this point in the history
  • Loading branch information
eyeinsky committed May 26, 2023
1 parent 47407aa commit b8cae32
Showing 1 changed file with 27 additions and 1 deletion.
Expand Up @@ -339,7 +339,33 @@ propJsonRoundtripTxMintRow = H.property $ do

propQueryingOnlyBurn :: Property
propQueryingOnlyBurn = H.property $ do
() === ()
(indexer, events, (_bufferSize, _nTx)) <- Gen.genIndexerWithEvents ":memory:"
let
eventRows = MintBurn.toRows =<< events
-- Only burn events
burnEvents :: [MintBurn.TxMintEvent]
burnEvents = MintBurn.fromRows $ filter ((< 0) . MintBurn._txMintRowQuantity) eventRows

-- Query all burn events from indexer
MintBurnResult (resultEvents' :: [MintBurn.TxMintRow]) <-
liftIO $ raiseException $ RI.query RI.QEverything indexer $ MintBurn.QueryAllBurn Nothing
let resultEvents = MintBurn.fromRows resultEvents'
equalSet burnEvents resultEvents

-- Query some single event
let noBurnEvents = null eventRows
H.classify "No burn events" noBurnEvents
H.classify "Some burn events" $ not noBurnEvents
unless noBurnEvents $ do
aRow <- forAll $ Gen.element eventRows
let somePolicyId = MintBurn._txMintRowPolicyId aRow
someAssetName = MintBurn._txMintRowAssetName aRow
MintBurnResult (resultEvents' :: [MintBurn.TxMintRow]) <-
liftIO $ raiseException $ RI.query RI.QEverything indexer $ MintBurn.QueryBurnByAssetId somePolicyId someAssetName Nothing
let
resultEvents = MintBurn.fromRows resultEvents'
expectedEvents = MintBurn.fromRows $ filter (\row -> MintBurn._txMintRowPolicyId row == somePolicyId && MintBurn._txMintRowAssetName row == someAssetName) $ MintBurn.toRows =<< burnEvents
equalSet resultEvents expectedEvents

-- * Helpers

Expand Down

0 comments on commit b8cae32

Please sign in to comment.