diff --git a/agora-test/Spec/Sample/Effect/TreasuryWithdrawal.hs b/agora-sample/Sample/Effect/TreasuryWithdrawal.hs similarity index 96% rename from agora-test/Spec/Sample/Effect/TreasuryWithdrawal.hs rename to agora-sample/Sample/Effect/TreasuryWithdrawal.hs index 81709fe..f698f77 100644 --- a/agora-test/Spec/Sample/Effect/TreasuryWithdrawal.hs +++ b/agora-sample/Sample/Effect/TreasuryWithdrawal.hs @@ -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, diff --git a/agora-test/Spec/Sample/Proposal.hs b/agora-sample/Sample/Proposal.hs similarity index 98% rename from agora-test/Spec/Sample/Proposal.hs rename to agora-sample/Sample/Proposal.hs index 6112ec0..9d88a7e 100644 --- a/agora-test/Spec/Sample/Proposal.hs +++ b/agora-sample/Sample/Proposal.hs @@ -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) -------------------------------------------------------------------------------- diff --git a/agora-test/Spec/Sample/Shared.hs b/agora-sample/Sample/Shared.hs similarity index 98% rename from agora-test/Spec/Sample/Shared.hs rename to agora-sample/Sample/Shared.hs index 8245e52..9e109e2 100644 --- a/agora-test/Spec/Sample/Shared.hs +++ b/agora-sample/Sample/Shared.hs @@ -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, diff --git a/agora-test/Spec/Sample/Stake.hs b/agora-sample/Sample/Stake.hs similarity index 97% rename from agora-test/Spec/Sample/Stake.hs rename to agora-sample/Sample/Stake.hs index 07af063..7c6ed2e 100644 --- a/agora-test/Spec/Sample/Stake.hs +++ b/agora-sample/Sample/Stake.hs @@ -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) -------------------------------------------------------------------------------- diff --git a/agora-test/Spec/Sample/Treasury.hs b/agora-sample/Sample/Treasury.hs similarity index 97% rename from agora-test/Spec/Sample/Treasury.hs rename to agora-sample/Sample/Treasury.hs index 1cfb02c..41413e4 100644 --- a/agora-test/Spec/Sample/Treasury.hs +++ b/agora-sample/Sample/Treasury.hs @@ -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. diff --git a/agora-test/Spec/AuthorityToken.hs b/agora-test/Spec/AuthorityToken.hs index da1e371..fdfda03 100644 --- a/agora-test/Spec/AuthorityToken.hs +++ b/agora-test/Spec/AuthorityToken.hs @@ -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" diff --git a/agora-test/Spec/Effect/TreasuryWithdrawal.hs b/agora-test/Spec/Effect/TreasuryWithdrawal.hs index 27310d9..a380edb 100644 --- a/agora-test/Spec/Effect/TreasuryWithdrawal.hs +++ b/agora-test/Spec/Effect/TreasuryWithdrawal.hs @@ -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 = diff --git a/agora-test/Spec/Proposal.hs b/agora-test/Spec/Proposal.hs index bd79762..310e562 100644 --- a/agora-test/Spec/Proposal.hs +++ b/agora-test/Spec/Proposal.hs @@ -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) -------------------------------------------------------------------------------- diff --git a/agora-test/Spec/Stake.hs b/agora-test/Spec/Stake.hs index 6824b80..3a3eacd 100644 --- a/agora-test/Spec/Stake.hs +++ b/agora-test/Spec/Stake.hs @@ -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) -------------------------------------------------------------------------------- diff --git a/agora-test/Spec/Treasury.hs b/agora-test/Spec/Treasury.hs index dd1044a..0cd139f 100644 --- a/agora-test/Spec/Treasury.hs +++ b/agora-test/Spec/Treasury.hs @@ -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 = diff --git a/agora-test/Spec/Util.hs b/agora-testlib/Test/Util.hs similarity index 99% rename from agora-test/Spec/Util.hs rename to agora-testlib/Test/Util.hs index 31347e1..74e8ac6 100644 --- a/agora-test/Spec/Util.hs +++ b/agora-testlib/Test/Util.hs @@ -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, diff --git a/agora.cabal b/agora.cabal index 36cd7f5..a8db777 100644 --- a/agora.cabal +++ b/agora.cabal @@ -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