Files
ark/server/internal/core/domain/payment_test.go
Pietralberto Mazza 7f937e8418 Vars and fields renaming (#387)
* Rename asp > server

* Rename pool > round

* Consolidate naming for pubkey/prvkey vars and types

* Fix

* Fix

* Fix wasm

* Rename congestionTree > vtxoTree

* Fix wasm

* Rename payment > request

* Rename congestionTree > vtxoTree after syncing with master

* Fix Send API in SDK

* Fix wasm

* Fix wasm

* Fixes

* Fixes after review

* Fix

* Fix naming

* Fix

* Fix e2e tests
2024-11-26 15:57:16 +01:00

77 lines
1.6 KiB
Go

package domain_test
import (
"testing"
"github.com/ark-network/ark/server/internal/core/domain"
"github.com/stretchr/testify/require"
)
// x-only pubkey
const pubkey = "25a43cecfa0e1b1a4f72d64ad15f4cfa7a84d0723e8511c969aa543638ea9967"
var inputs = []domain.Vtxo{
{
VtxoKey: domain.VtxoKey{
Txid: "0000000000000000000000000000000000000000000000000000000000000000",
VOut: 0,
},
PubKey: pubkey,
Amount: 1000,
},
}
func TestTxRequest(t *testing.T) {
t.Run("new_tx_request", func(t *testing.T) {
t.Run("valid", func(t *testing.T) {
request, err := domain.NewTxRequest(inputs)
require.NoError(t, err)
require.NotNil(t, request)
require.NotEmpty(t, request.Id)
require.Exactly(t, inputs, request.Inputs)
require.Empty(t, request.Receivers)
})
})
t.Run("add_receivers", func(t *testing.T) {
t.Run("valid", func(t *testing.T) {
request, err := domain.NewTxRequest(inputs)
require.NoError(t, err)
require.NotNil(t, request)
err = request.AddReceivers([]domain.Receiver{
{
PubKey: pubkey,
Amount: 450,
},
{
PubKey: pubkey,
Amount: 550,
},
})
require.NoError(t, err)
})
t.Run("invalid", func(t *testing.T) {
fixtures := []struct {
receivers []domain.Receiver
expectedErr string
}{
{
receivers: nil,
expectedErr: "missing outputs",
},
}
request, err := domain.NewTxRequest(inputs)
require.NoError(t, err)
require.NotNil(t, request)
for _, f := range fixtures {
err := request.AddReceivers(f.receivers)
require.EqualError(t, err, f.expectedErr)
}
})
})
}