offload some stuff from agora-test to agora-sample and agora-testlib

This commit is contained in:
fanghr 2022-05-12 18:55:39 +08:00
parent 3d414b334a
commit 283edd64b7
No known key found for this signature in database
GPG key ID: 35CD9A71CD5D5870
12 changed files with 56 additions and 39 deletions

View file

@ -1,11 +1,11 @@
{- |
Module : Spec.Sample.Effect.TreasuryWithdrawalEffect
Module : Sample.Effect.TreasuryWithdrawalEffect
Maintainer : seungheon.ooh@gmail.com
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,
inputUser,
inputGAT,

View file

@ -1,11 +1,11 @@
{- |
Module : Spec.Sample.Proposal
Module : Sample.Proposal
Maintainer : emi@haskell.fyi
Description: Sample based testing for Proposal utxos
This module tests primarily the happy path for Proposal interactions
-}
module Spec.Sample.Proposal (
module Sample.Proposal (
-- * Script contexts
proposalCreation,
cosignProposal,
@ -49,8 +49,8 @@ import Agora.Proposal (
import Agora.Stake (Stake (..), StakeDatum (StakeDatum))
import Plutarch.SafeMoney (Tagged (Tagged), untag)
import PlutusTx.AssocMap qualified as AssocMap
import Spec.Sample.Shared
import Spec.Util (datumPair, toDatumHash)
import Sample.Shared
import Test.Util (datumPair, toDatumHash)
--------------------------------------------------------------------------------

View file

@ -1,11 +1,11 @@
{- |
Module : Spec.Sample.Shared
Module : Sample.Shared
Maintainer : emi@haskell.fyi
Description: Shared useful values for creating Samples for testing.
Shared useful values for creating Samples for testing.
-}
module Spec.Sample.Shared (
module Sample.Shared (
-- * Misc
signer,
signer2,

View file

@ -1,11 +1,11 @@
{- |
Module : Spec.Sample.Stake
Module : Sample.Stake
Maintainer : emi@haskell.fyi
Description: Sample based testing for Stake utxos
This module tests primarily the happy path for Stake creation
-}
module Spec.Sample.Stake (
module Sample.Stake (
stake,
stakeSymbol,
validatorHashTN,
@ -48,8 +48,8 @@ import Agora.SafeMoney (GTTag)
import Agora.Stake
import Agora.Stake.Scripts (stakeValidator)
import Plutarch.SafeMoney
import Spec.Sample.Shared
import Spec.Util (datumPair, toDatumHash)
import Sample.Shared
import Test.Util (datumPair, toDatumHash)
--------------------------------------------------------------------------------

View file

@ -1,14 +1,14 @@
{-# LANGUAGE TemplateHaskell #-}
{- |
Module: Spec.Sample.Treasury
Module: Sample.Treasury
Description: Sample data for `Spec.Treasury`.
Maintainer: jack@mlabs.city
This module contains sample data, used in the tests written in
`Spec.Treasury`.
-}
module Spec.Sample.Treasury (
module Sample.Treasury (
gatCs,
validCtx,
treasuryRef,
@ -38,7 +38,7 @@ import Plutus.V1.Ledger.Scripts (
ValidatorHash (ValidatorHash),
)
import Plutus.V1.Ledger.Value qualified as Value
import Spec.Sample.Shared (
import Sample.Shared (
gatCs,
gatTn,
minAda,
@ -47,7 +47,7 @@ import Spec.Sample.Shared (
treasuryOut,
wrongEffHash,
)
import Spec.Util (datumPair)
import Test.Util (datumPair)
{- | A `ScriptContext` that should be compatible with treasury
transactions.

View file

@ -33,7 +33,7 @@ import Plutus.V1.Ledger.Api (
import Plutus.V1.Ledger.Interval qualified as Interval
import Plutus.V1.Ledger.Value qualified as Value
import PlutusTx.AssocMap qualified as AssocMap
import Spec.Util (scriptFails, scriptSucceeds)
import Test.Util (scriptFails, scriptSucceeds)
currencySymbol :: CurrencySymbol
currencySymbol = "deadbeef"

View file

@ -12,7 +12,7 @@ import Agora.Effect.TreasuryWithdrawal (
treasuryWithdrawalValidator,
)
import Plutus.V1.Ledger.Value qualified as Value
import Spec.Sample.Effect.TreasuryWithdrawal (
import Sample.Effect.TreasuryWithdrawal (
buildReceiversOutputFromDatum,
buildScriptContext,
currSymbol,
@ -25,8 +25,8 @@ import Spec.Sample.Effect.TreasuryWithdrawal (
treasuries,
users,
)
import Spec.Util (effectFailsWith, effectSucceedsWith)
import Test.Tasty (TestTree, testGroup)
import Test.Util (effectFailsWith, effectSucceedsWith)
tests :: [TestTree]
tests =

View file

@ -34,11 +34,11 @@ import Agora.Stake.Scripts (stakeValidator)
import Plutarch.SafeMoney (Tagged (Tagged))
import Plutus.V1.Ledger.Api (ScriptContext (..), ScriptPurpose (..))
import PlutusTx.AssocMap qualified as AssocMap
import Spec.Sample.Proposal qualified as Proposal
import Spec.Sample.Shared (signer, signer2)
import Spec.Sample.Shared qualified as Shared
import Spec.Util (policySucceedsWith, validatorSucceedsWith)
import Sample.Proposal qualified as Proposal
import Sample.Shared (signer, signer2)
import Sample.Shared qualified as Shared
import Test.Tasty (TestTree, testGroup)
import Test.Util (policySucceedsWith, validatorSucceedsWith)
--------------------------------------------------------------------------------

View file

@ -24,9 +24,9 @@ import Agora.Stake.Scripts (stakePolicy, stakeValidator)
--------------------------------------------------------------------------------
import Spec.Sample.Stake (DepositWithdrawExample (DepositWithdrawExample, delta, startAmount), signer)
import Spec.Sample.Stake qualified as Stake
import Spec.Util (policyFailsWith, policySucceedsWith, toDatum, validatorFailsWith, validatorSucceedsWith)
import Sample.Stake (DepositWithdrawExample (DepositWithdrawExample, delta, startAmount), signer)
import Sample.Stake qualified as Stake
import Test.Util (policyFailsWith, policySucceedsWith, toDatum, validatorFailsWith, validatorSucceedsWith)
--------------------------------------------------------------------------------

View file

@ -37,10 +37,10 @@ import Plutus.V1.Ledger.Credential (
StakingCredential (StakingHash),
)
import Plutus.V1.Ledger.Value qualified as Value
import Spec.Sample.Shared (
import Sample.Shared (
trCredential,
)
import Spec.Sample.Treasury (
import Sample.Treasury (
gatCs,
gatTn,
trCtxGATNameNotAddress,
@ -48,8 +48,8 @@ import Spec.Sample.Treasury (
validCtx,
walletIn,
)
import Spec.Util (validatorFailsWith, validatorSucceedsWith)
import Test.Tasty (TestTree, testGroup)
import Test.Util (validatorFailsWith, validatorSucceedsWith)
tests :: [TestTree]
tests =

View file

@ -1,5 +1,5 @@
{- |
Module : Spec.Util
Module : Test.Util
Maintainer : emi@haskell.fyi
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.
-}
module Spec.Util (
module Test.Util (
-- * Testing utils
scriptSucceeds,
scriptFails,

View file

@ -152,6 +152,26 @@ library pprelude
hs-source-dirs: agora
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
import: lang, deps, test-deps
type: exitcode-stdio-1.0
@ -162,16 +182,13 @@ test-suite agora-test
Spec.Effect.TreasuryWithdrawal
Spec.Model.MultiSig
Spec.Proposal
Spec.Sample.Effect.TreasuryWithdrawal
Spec.Sample.Proposal
Spec.Sample.Shared
Spec.Sample.Stake
Spec.Sample.Treasury
Spec.Stake
Spec.Treasury
Spec.Util
build-depends: agora
build-depends:
, agora
, agora-sample
, agora-testlib
benchmark agora-bench
import: lang, deps