offload some stuff from agora-test to agora-sample and agora-testlib
This commit is contained in:
parent
3d414b334a
commit
283edd64b7
12 changed files with 56 additions and 39 deletions
|
|
@ -1,11 +1,11 @@
|
||||||
{- |
|
{- |
|
||||||
Module : Spec.Sample.Effect.TreasuryWithdrawalEffect
|
Module : Sample.Effect.TreasuryWithdrawalEffect
|
||||||
Maintainer : seungheon.ooh@gmail.com
|
Maintainer : seungheon.ooh@gmail.com
|
||||||
Description: Sample based testing for Treasury Withdrawal Effect
|
Description: Sample based testing for Treasury Withdrawal Effect
|
||||||
|
|
||||||
This module provides smaples for Treasury Withdrawal Effect tests.
|
This module provides samples for Treasury Withdrawal Effect tests.
|
||||||
-}
|
-}
|
||||||
module Spec.Sample.Effect.TreasuryWithdrawal (
|
module Sample.Effect.TreasuryWithdrawal (
|
||||||
inputTreasury,
|
inputTreasury,
|
||||||
inputUser,
|
inputUser,
|
||||||
inputGAT,
|
inputGAT,
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
{- |
|
{- |
|
||||||
Module : Spec.Sample.Proposal
|
Module : Sample.Proposal
|
||||||
Maintainer : emi@haskell.fyi
|
Maintainer : emi@haskell.fyi
|
||||||
Description: Sample based testing for Proposal utxos
|
Description: Sample based testing for Proposal utxos
|
||||||
|
|
||||||
This module tests primarily the happy path for Proposal interactions
|
This module tests primarily the happy path for Proposal interactions
|
||||||
-}
|
-}
|
||||||
module Spec.Sample.Proposal (
|
module Sample.Proposal (
|
||||||
-- * Script contexts
|
-- * Script contexts
|
||||||
proposalCreation,
|
proposalCreation,
|
||||||
cosignProposal,
|
cosignProposal,
|
||||||
|
|
@ -49,8 +49,8 @@ import Agora.Proposal (
|
||||||
import Agora.Stake (Stake (..), StakeDatum (StakeDatum))
|
import Agora.Stake (Stake (..), StakeDatum (StakeDatum))
|
||||||
import Plutarch.SafeMoney (Tagged (Tagged), untag)
|
import Plutarch.SafeMoney (Tagged (Tagged), untag)
|
||||||
import PlutusTx.AssocMap qualified as AssocMap
|
import PlutusTx.AssocMap qualified as AssocMap
|
||||||
import Spec.Sample.Shared
|
import Sample.Shared
|
||||||
import Spec.Util (datumPair, toDatumHash)
|
import Test.Util (datumPair, toDatumHash)
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
{- |
|
{- |
|
||||||
Module : Spec.Sample.Shared
|
Module : Sample.Shared
|
||||||
Maintainer : emi@haskell.fyi
|
Maintainer : emi@haskell.fyi
|
||||||
Description: Shared useful values for creating Samples for testing.
|
Description: Shared useful values for creating Samples for testing.
|
||||||
|
|
||||||
Shared useful values for creating Samples for testing.
|
Shared useful values for creating Samples for testing.
|
||||||
-}
|
-}
|
||||||
module Spec.Sample.Shared (
|
module Sample.Shared (
|
||||||
-- * Misc
|
-- * Misc
|
||||||
signer,
|
signer,
|
||||||
signer2,
|
signer2,
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
{- |
|
{- |
|
||||||
Module : Spec.Sample.Stake
|
Module : Sample.Stake
|
||||||
Maintainer : emi@haskell.fyi
|
Maintainer : emi@haskell.fyi
|
||||||
Description: Sample based testing for Stake utxos
|
Description: Sample based testing for Stake utxos
|
||||||
|
|
||||||
This module tests primarily the happy path for Stake creation
|
This module tests primarily the happy path for Stake creation
|
||||||
-}
|
-}
|
||||||
module Spec.Sample.Stake (
|
module Sample.Stake (
|
||||||
stake,
|
stake,
|
||||||
stakeSymbol,
|
stakeSymbol,
|
||||||
validatorHashTN,
|
validatorHashTN,
|
||||||
|
|
@ -48,8 +48,8 @@ import Agora.SafeMoney (GTTag)
|
||||||
import Agora.Stake
|
import Agora.Stake
|
||||||
import Agora.Stake.Scripts (stakeValidator)
|
import Agora.Stake.Scripts (stakeValidator)
|
||||||
import Plutarch.SafeMoney
|
import Plutarch.SafeMoney
|
||||||
import Spec.Sample.Shared
|
import Sample.Shared
|
||||||
import Spec.Util (datumPair, toDatumHash)
|
import Test.Util (datumPair, toDatumHash)
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
{-# LANGUAGE TemplateHaskell #-}
|
{-# LANGUAGE TemplateHaskell #-}
|
||||||
|
|
||||||
{- |
|
{- |
|
||||||
Module: Spec.Sample.Treasury
|
Module: Sample.Treasury
|
||||||
Description: Sample data for `Spec.Treasury`.
|
Description: Sample data for `Spec.Treasury`.
|
||||||
Maintainer: jack@mlabs.city
|
Maintainer: jack@mlabs.city
|
||||||
|
|
||||||
This module contains sample data, used in the tests written in
|
This module contains sample data, used in the tests written in
|
||||||
`Spec.Treasury`.
|
`Spec.Treasury`.
|
||||||
-}
|
-}
|
||||||
module Spec.Sample.Treasury (
|
module Sample.Treasury (
|
||||||
gatCs,
|
gatCs,
|
||||||
validCtx,
|
validCtx,
|
||||||
treasuryRef,
|
treasuryRef,
|
||||||
|
|
@ -38,7 +38,7 @@ import Plutus.V1.Ledger.Scripts (
|
||||||
ValidatorHash (ValidatorHash),
|
ValidatorHash (ValidatorHash),
|
||||||
)
|
)
|
||||||
import Plutus.V1.Ledger.Value qualified as Value
|
import Plutus.V1.Ledger.Value qualified as Value
|
||||||
import Spec.Sample.Shared (
|
import Sample.Shared (
|
||||||
gatCs,
|
gatCs,
|
||||||
gatTn,
|
gatTn,
|
||||||
minAda,
|
minAda,
|
||||||
|
|
@ -47,7 +47,7 @@ import Spec.Sample.Shared (
|
||||||
treasuryOut,
|
treasuryOut,
|
||||||
wrongEffHash,
|
wrongEffHash,
|
||||||
)
|
)
|
||||||
import Spec.Util (datumPair)
|
import Test.Util (datumPair)
|
||||||
|
|
||||||
{- | A `ScriptContext` that should be compatible with treasury
|
{- | A `ScriptContext` that should be compatible with treasury
|
||||||
transactions.
|
transactions.
|
||||||
|
|
@ -33,7 +33,7 @@ import Plutus.V1.Ledger.Api (
|
||||||
import Plutus.V1.Ledger.Interval qualified as Interval
|
import Plutus.V1.Ledger.Interval qualified as Interval
|
||||||
import Plutus.V1.Ledger.Value qualified as Value
|
import Plutus.V1.Ledger.Value qualified as Value
|
||||||
import PlutusTx.AssocMap qualified as AssocMap
|
import PlutusTx.AssocMap qualified as AssocMap
|
||||||
import Spec.Util (scriptFails, scriptSucceeds)
|
import Test.Util (scriptFails, scriptSucceeds)
|
||||||
|
|
||||||
currencySymbol :: CurrencySymbol
|
currencySymbol :: CurrencySymbol
|
||||||
currencySymbol = "deadbeef"
|
currencySymbol = "deadbeef"
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import Agora.Effect.TreasuryWithdrawal (
|
||||||
treasuryWithdrawalValidator,
|
treasuryWithdrawalValidator,
|
||||||
)
|
)
|
||||||
import Plutus.V1.Ledger.Value qualified as Value
|
import Plutus.V1.Ledger.Value qualified as Value
|
||||||
import Spec.Sample.Effect.TreasuryWithdrawal (
|
import Sample.Effect.TreasuryWithdrawal (
|
||||||
buildReceiversOutputFromDatum,
|
buildReceiversOutputFromDatum,
|
||||||
buildScriptContext,
|
buildScriptContext,
|
||||||
currSymbol,
|
currSymbol,
|
||||||
|
|
@ -25,8 +25,8 @@ import Spec.Sample.Effect.TreasuryWithdrawal (
|
||||||
treasuries,
|
treasuries,
|
||||||
users,
|
users,
|
||||||
)
|
)
|
||||||
import Spec.Util (effectFailsWith, effectSucceedsWith)
|
|
||||||
import Test.Tasty (TestTree, testGroup)
|
import Test.Tasty (TestTree, testGroup)
|
||||||
|
import Test.Util (effectFailsWith, effectSucceedsWith)
|
||||||
|
|
||||||
tests :: [TestTree]
|
tests :: [TestTree]
|
||||||
tests =
|
tests =
|
||||||
|
|
|
||||||
|
|
@ -34,11 +34,11 @@ import Agora.Stake.Scripts (stakeValidator)
|
||||||
import Plutarch.SafeMoney (Tagged (Tagged))
|
import Plutarch.SafeMoney (Tagged (Tagged))
|
||||||
import Plutus.V1.Ledger.Api (ScriptContext (..), ScriptPurpose (..))
|
import Plutus.V1.Ledger.Api (ScriptContext (..), ScriptPurpose (..))
|
||||||
import PlutusTx.AssocMap qualified as AssocMap
|
import PlutusTx.AssocMap qualified as AssocMap
|
||||||
import Spec.Sample.Proposal qualified as Proposal
|
import Sample.Proposal qualified as Proposal
|
||||||
import Spec.Sample.Shared (signer, signer2)
|
import Sample.Shared (signer, signer2)
|
||||||
import Spec.Sample.Shared qualified as Shared
|
import Sample.Shared qualified as Shared
|
||||||
import Spec.Util (policySucceedsWith, validatorSucceedsWith)
|
|
||||||
import Test.Tasty (TestTree, testGroup)
|
import Test.Tasty (TestTree, testGroup)
|
||||||
|
import Test.Util (policySucceedsWith, validatorSucceedsWith)
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,9 +24,9 @@ import Agora.Stake.Scripts (stakePolicy, stakeValidator)
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
import Spec.Sample.Stake (DepositWithdrawExample (DepositWithdrawExample, delta, startAmount), signer)
|
import Sample.Stake (DepositWithdrawExample (DepositWithdrawExample, delta, startAmount), signer)
|
||||||
import Spec.Sample.Stake qualified as Stake
|
import Sample.Stake qualified as Stake
|
||||||
import Spec.Util (policyFailsWith, policySucceedsWith, toDatum, validatorFailsWith, validatorSucceedsWith)
|
import Test.Util (policyFailsWith, policySucceedsWith, toDatum, validatorFailsWith, validatorSucceedsWith)
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,10 +37,10 @@ import Plutus.V1.Ledger.Credential (
|
||||||
StakingCredential (StakingHash),
|
StakingCredential (StakingHash),
|
||||||
)
|
)
|
||||||
import Plutus.V1.Ledger.Value qualified as Value
|
import Plutus.V1.Ledger.Value qualified as Value
|
||||||
import Spec.Sample.Shared (
|
import Sample.Shared (
|
||||||
trCredential,
|
trCredential,
|
||||||
)
|
)
|
||||||
import Spec.Sample.Treasury (
|
import Sample.Treasury (
|
||||||
gatCs,
|
gatCs,
|
||||||
gatTn,
|
gatTn,
|
||||||
trCtxGATNameNotAddress,
|
trCtxGATNameNotAddress,
|
||||||
|
|
@ -48,8 +48,8 @@ import Spec.Sample.Treasury (
|
||||||
validCtx,
|
validCtx,
|
||||||
walletIn,
|
walletIn,
|
||||||
)
|
)
|
||||||
import Spec.Util (validatorFailsWith, validatorSucceedsWith)
|
|
||||||
import Test.Tasty (TestTree, testGroup)
|
import Test.Tasty (TestTree, testGroup)
|
||||||
|
import Test.Util (validatorFailsWith, validatorSucceedsWith)
|
||||||
|
|
||||||
tests :: [TestTree]
|
tests :: [TestTree]
|
||||||
tests =
|
tests =
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{- |
|
{- |
|
||||||
Module : Spec.Util
|
Module : Test.Util
|
||||||
Maintainer : emi@haskell.fyi
|
Maintainer : emi@haskell.fyi
|
||||||
Description: Utility functions for testing Plutarch scripts with ScriptContext
|
Description: Utility functions for testing Plutarch scripts with ScriptContext
|
||||||
|
|
||||||
|
|
@ -22,7 +22,7 @@ Utility functions for testing Plutarch scripts with ScriptContext:
|
||||||
|
|
||||||
- 'scriptFails': checks that an arbitrary script `perror`s out.
|
- 'scriptFails': checks that an arbitrary script `perror`s out.
|
||||||
-}
|
-}
|
||||||
module Spec.Util (
|
module Test.Util (
|
||||||
-- * Testing utils
|
-- * Testing utils
|
||||||
scriptSucceeds,
|
scriptSucceeds,
|
||||||
scriptFails,
|
scriptFails,
|
||||||
31
agora.cabal
31
agora.cabal
|
|
@ -152,6 +152,26 @@ library pprelude
|
||||||
hs-source-dirs: agora
|
hs-source-dirs: agora
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
|
|
||||||
|
library agora-testlib
|
||||||
|
import: lang, deps, test-deps
|
||||||
|
exposed-modules: Test.Util
|
||||||
|
hs-source-dirs: agora-testlib
|
||||||
|
|
||||||
|
library agora-sample
|
||||||
|
import: lang, deps, test-deps
|
||||||
|
build-depends:
|
||||||
|
, agora
|
||||||
|
, agora-testlib
|
||||||
|
|
||||||
|
exposed-modules:
|
||||||
|
Sample.Effect.TreasuryWithdrawal
|
||||||
|
Sample.Proposal
|
||||||
|
Sample.Shared
|
||||||
|
Sample.Stake
|
||||||
|
Sample.Treasury
|
||||||
|
|
||||||
|
hs-source-dirs: agora-sample
|
||||||
|
|
||||||
test-suite agora-test
|
test-suite agora-test
|
||||||
import: lang, deps, test-deps
|
import: lang, deps, test-deps
|
||||||
type: exitcode-stdio-1.0
|
type: exitcode-stdio-1.0
|
||||||
|
|
@ -162,16 +182,13 @@ test-suite agora-test
|
||||||
Spec.Effect.TreasuryWithdrawal
|
Spec.Effect.TreasuryWithdrawal
|
||||||
Spec.Model.MultiSig
|
Spec.Model.MultiSig
|
||||||
Spec.Proposal
|
Spec.Proposal
|
||||||
Spec.Sample.Effect.TreasuryWithdrawal
|
|
||||||
Spec.Sample.Proposal
|
|
||||||
Spec.Sample.Shared
|
|
||||||
Spec.Sample.Stake
|
|
||||||
Spec.Sample.Treasury
|
|
||||||
Spec.Stake
|
Spec.Stake
|
||||||
Spec.Treasury
|
Spec.Treasury
|
||||||
Spec.Util
|
|
||||||
|
|
||||||
build-depends: agora
|
build-depends:
|
||||||
|
, agora
|
||||||
|
, agora-sample
|
||||||
|
, agora-testlib
|
||||||
|
|
||||||
benchmark agora-bench
|
benchmark agora-bench
|
||||||
import: lang, deps
|
import: lang, deps
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue