Skip to content

Commit 15e618e

Browse files
committed
test(standing_bid): add property tests for ConcludeAuction redeemer
- run tests in parallel
1 parent 37ccb96 commit 15e618e

File tree

5 files changed

+256
-42
lines changed

5 files changed

+256
-42
lines changed

hydra-auction-onchain.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ test-suite hydra-auction-onchain-test
153153
type: exitcode-stdio-1.0
154154
hs-source-dirs: test
155155
main-is: Spec.hs
156+
ghc-options: -threaded -rtsopts -with-rtsopts=-N
156157
other-modules:
157158
Spec.HydraAuctionOnchain.Expectations
158159
Spec.HydraAuctionOnchain.Helpers

src/HydraAuctionOnchain/Validators/AuctionEscrow.hs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
{-# LANGUAGE TemplateHaskell #-}
22

33
module HydraAuctionOnchain.Validators.AuctionEscrow
4-
( auctionEscrowValidator
4+
( PAuctionEscrowRedeemer
5+
( StartBiddingRedeemer
6+
, BidderBuysRedeemer
7+
, SellerReclaimsRedeemer
8+
, CleanupAuctionRedeemer
9+
)
10+
, auctionEscrowValidator
511
, pisConcluding
612
) where
713

test/Spec/HydraAuctionOnchain/Helpers.hs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
module Spec.HydraAuctionOnchain.Helpers
22
( hashVerificationKey
33
, intervalFiniteClosedOpen
4+
, mkAuctionEscrowTokenValue
45
, mkStandingBidTokenValue
56
, serialise
67
) where
@@ -44,6 +45,9 @@ intervalFiniteClosedOpen a b =
4445
mkStandingBidTokenValue :: CurrencySymbol -> Value
4546
mkStandingBidTokenValue cs = Value.singleton cs "STANDING_BID" 1
4647

48+
mkAuctionEscrowTokenValue :: CurrencySymbol -> Value
49+
mkAuctionEscrowTokenValue cs = Value.singleton cs "AUCTION" 1
50+
4751
{-# INLINEABLE serialise #-}
4852
serialise :: ToData a => a -> BuiltinByteString
4953
serialise = serialiseData . toBuiltinData

test/Spec/HydraAuctionOnchain/Types/Redeemers.hs

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,48 @@
33
{-# OPTIONS_GHC -Wno-orphans #-}
44

55
module Spec.HydraAuctionOnchain.Types.Redeemers
6-
( StandingBidRedeemer (NewBidRedeemer, MoveToHydraRedeemer, ConcludeAuctionRedeemer)
6+
( AuctionEscrowRedeemer
7+
( StartBiddingRedeemer
8+
, BidderBuysRedeemer
9+
, SellerReclaimsRedeemer
10+
, CleanupAuctionRedeemer
11+
)
12+
, StandingBidRedeemer (NewBidRedeemer, MoveToHydraRedeemer, ConcludeAuctionRedeemer)
713
) where
814

15+
import HydraAuctionOnchain.Validators.AuctionEscrow (PAuctionEscrowRedeemer)
916
import HydraAuctionOnchain.Validators.StandingBid (PStandingBidRedeemer)
1017
import Plutarch.DataRepr (DerivePConstantViaData (DerivePConstantViaData))
1118
import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (PLifted))
1219
import PlutusTx (makeIsDataIndexed)
1320

21+
--------------------------------------------------------------------------------
22+
-- AuctionEscrowRedeemer
23+
--------------------------------------------------------------------------------
24+
25+
data AuctionEscrowRedeemer
26+
= StartBiddingRedeemer
27+
| BidderBuysRedeemer
28+
| SellerReclaimsRedeemer
29+
| CleanupAuctionRedeemer
30+
deriving stock (Show, Eq)
31+
32+
makeIsDataIndexed
33+
''AuctionEscrowRedeemer
34+
[ ('StartBiddingRedeemer, 0)
35+
, ('BidderBuysRedeemer, 1)
36+
, ('SellerReclaimsRedeemer, 2)
37+
, ('CleanupAuctionRedeemer, 3)
38+
]
39+
40+
deriving via
41+
(DerivePConstantViaData AuctionEscrowRedeemer PAuctionEscrowRedeemer)
42+
instance
43+
(PConstantDecl AuctionEscrowRedeemer)
44+
45+
instance PUnsafeLiftDecl PAuctionEscrowRedeemer where
46+
type PLifted PAuctionEscrowRedeemer = AuctionEscrowRedeemer
47+
1448
--------------------------------------------------------------------------------
1549
-- Standing bid validator
1650
--------------------------------------------------------------------------------

0 commit comments

Comments
 (0)