codebase: Replace !errors.Is(err, target) with testify (#1931)

* tests: Replace !errors.Is(err, target) with testify equivalents

* codebase: Manual !errors.Is(err, target) replacements

* typo: Replace errMisMatchedEvent with errMismatchedEvent

* tests: Enhance error messages for better output

* tests: Refactor error assertions in various test cases to use require and improve clarity

* misc linter: Fix assert should wording

* tests: Simplify assertions in TestCreateSignals for clarity and conciseness

* tests: Enhance assertion message in TestCreateSignals
This commit is contained in:
Adrian Gallagher
2025-06-10 16:29:57 +10:00
committed by GitHub
parent 122ab2f849
commit 19b8957f3f
109 changed files with 2485 additions and 5670 deletions

View File

@@ -1,23 +1,19 @@
package gct
import (
"errors"
"testing"
"github.com/stretchr/testify/require"
"github.com/thrasher-corp/gocryptotrader/common"
)
func TestErrorResponse(t *testing.T) {
t.Parallel()
_, err := errorResponsef("")
if !errors.Is(err, errFormatStringIsEmpty) {
t.Fatalf("received: '%v' but expected: '%v'", err, errFormatStringIsEmpty)
}
require.ErrorIs(t, err, errFormatStringIsEmpty)
_, err = errorResponsef("--")
if !errors.Is(err, errNoArguments) {
t.Fatalf("received: '%v' but expected: '%v'", err, errNoArguments)
}
require.ErrorIs(t, err, errNoArguments)
errResp, err := errorResponsef("error %s", "hello")
if err != nil {
@@ -32,7 +28,5 @@ func TestErrorResponse(t *testing.T) {
func TestConstructRuntimeError(t *testing.T) {
t.Parallel()
err := constructRuntimeError(0, "", "", nil)
if !errors.Is(err, common.ErrTypeAssertFailure) {
t.Fatalf("received: '%v' but expected: '%v'", err, common.ErrTypeAssertFailure)
}
require.ErrorIs(t, err, common.ErrTypeAssertFailure)
}

View File

@@ -1,7 +1,6 @@
package gct
import (
"errors"
"os"
"reflect"
"testing"
@@ -42,9 +41,8 @@ var (
Value: "",
}
tv = objects.TrueValue
fv = objects.FalseValue
errTestFailed = errors.New("test failed")
tv = objects.TrueValue
fv = objects.FalseValue
)
func TestMain(m *testing.M) {
@@ -55,37 +53,19 @@ func TestMain(m *testing.M) {
func TestExchangeOrderbook(t *testing.T) {
t.Parallel()
_, err := ExchangeOrderbook(ctx, exch, currencyPair, delimiter, assetType)
if err != nil {
t.Error(err)
}
_, err = ExchangeOrderbook(exchError, currencyPair, delimiter, assetType)
if err != nil && errors.Is(err, errTestFailed) {
t.Error(err)
}
assert.NoError(t, err)
_, err = ExchangeOrderbook()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
func TestExchangeTicker(t *testing.T) {
t.Parallel()
_, err := ExchangeTicker(ctx, exch, currencyPair, delimiter, assetType)
if err != nil {
t.Error(err)
}
_, err = ExchangeTicker(exchError, currencyPair, delimiter, assetType)
if err != nil && errors.Is(err, errTestFailed) {
t.Error(err)
}
assert.NoError(t, err)
_, err = ExchangeTicker()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
func TestExchangeExchanges(t *testing.T) {
@@ -107,74 +87,52 @@ func TestExchangeExchanges(t *testing.T) {
}
_, err = ExchangeExchanges()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
func TestExchangePairs(t *testing.T) {
t.Parallel()
_, err := ExchangePairs(exch, tv, assetType)
if err != nil {
t.Error(err)
}
assert.NoError(t, err)
_, err = ExchangePairs(exchError, tv, assetType)
if err != nil && errors.Is(err, errTestFailed) {
t.Error(err)
}
assert.NoError(t, err)
_, err = ExchangePairs()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
func TestAccountInfo(t *testing.T) {
t.Parallel()
_, err := ExchangeAccountInfo()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
_, err = ExchangeAccountInfo(ctx, exch, assetType)
if err != nil {
t.Error(err)
}
assert.NoError(t, err)
_, err = ExchangeAccountInfo(ctx, exchError, assetType)
if err != nil && !errors.Is(err, errTestFailed) {
t.Error(err)
}
assert.NoError(t, err)
}
func TestExchangeOrderQuery(t *testing.T) {
t.Parallel()
_, err := ExchangeOrderQuery()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
_, err = ExchangeOrderQuery(ctx, exch, orderID)
if err != nil {
t.Error(err)
}
assert.NoError(t, err)
_, err = ExchangeOrderQuery(ctx, exchError, orderID)
if err != nil && !errors.Is(err, errTestFailed) {
t.Error(err)
}
assert.NoError(t, err)
}
func TestExchangeOrderCancel(t *testing.T) {
t.Parallel()
_, err := ExchangeOrderCancel()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
_, err = ExchangeOrderCancel(blank, orderID, currencyPair, assetType)
if err == nil {
@@ -205,9 +163,7 @@ func TestExchangeOrderCancel(t *testing.T) {
func TestExchangeOrderSubmit(t *testing.T) {
t.Parallel()
_, err := ExchangeOrderSubmit()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
orderSide := &objects.String{Value: "ASK"}
orderType := &objects.String{Value: "LIMIT"}
@@ -217,21 +173,15 @@ func TestExchangeOrderSubmit(t *testing.T) {
_, err = ExchangeOrderSubmit(ctx, exch, currencyPair, delimiter,
orderType, orderSide, orderPrice, orderAmount, orderID, orderAsset)
if err != nil && !errors.Is(err, errTestFailed) {
t.Error(err)
}
assert.NoError(t, err)
_, err = ExchangeOrderSubmit(ctx, exch, currencyPair, delimiter,
orderType, orderSide, orderPrice, orderAmount, orderID, orderAsset)
if err != nil {
t.Error(err)
}
assert.NoError(t, err)
_, err = ExchangeOrderSubmit(ctx, objects.TrueValue, currencyPair, delimiter,
orderType, orderSide, orderPrice, orderAmount, orderID, orderAsset)
if err != nil {
t.Error(err)
}
assert.NoError(t, err)
}
func TestAllModuleNames(t *testing.T) {
@@ -246,9 +196,7 @@ func TestAllModuleNames(t *testing.T) {
func TestExchangeDepositAddress(t *testing.T) {
t.Parallel()
_, err := ExchangeDepositAddress()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
currCode := &objects.String{Value: "BTC"}
chain := &objects.String{Value: ""}
@@ -258,17 +206,13 @@ func TestExchangeDepositAddress(t *testing.T) {
}
_, err = ExchangeDepositAddress(exchError, currCode, chain)
if err != nil && !errors.Is(err, errTestFailed) {
t.Error(err)
}
assert.NoError(t, err)
}
func TestExchangeWithdrawCrypto(t *testing.T) {
t.Parallel()
_, err := ExchangeWithdrawCrypto()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
currCode := &objects.String{Value: "BTC"}
desc := &objects.String{Value: "HELLO"}
@@ -284,9 +228,7 @@ func TestExchangeWithdrawCrypto(t *testing.T) {
func TestExchangeWithdrawFiat(t *testing.T) {
t.Parallel()
_, err := ExchangeWithdrawFiat()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
currCode := &objects.String{Value: "AUD"}
desc := &objects.String{Value: "Hello"}
@@ -339,14 +281,10 @@ func TestParseInterval(t *testing.T) {
func TestSetVerbose(t *testing.T) {
t.Parallel()
_, err := setVerbose()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Fatalf("received: '%v' but expected: '%v'", err, objects.ErrWrongNumArguments)
}
require.ErrorIs(t, err, objects.ErrWrongNumArguments)
_, err = setVerbose(objects.TrueValue)
if !errors.Is(err, common.ErrTypeAssertFailure) {
t.Fatalf("received: '%v' but expected: '%v'", err, common.ErrTypeAssertFailure)
}
require.ErrorIs(t, err, common.ErrTypeAssertFailure)
resp, err := setVerbose(&Context{})
require.NoError(t, err)
@@ -367,44 +305,28 @@ var dummyStr = &objects.String{Value: "xxxx"}
func TestSetAccount(t *testing.T) {
t.Parallel()
_, err := setAccount()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Fatalf("received: '%v' but expected: '%v'", err, objects.ErrWrongNumArguments)
}
require.ErrorIs(t, err, objects.ErrWrongNumArguments)
_, err = setAccount(objects.TrueValue, objects.TrueValue, objects.TrueValue)
if !errors.Is(err, common.ErrTypeAssertFailure) {
t.Fatalf("received: '%v' but expected: '%v'", err, common.ErrTypeAssertFailure)
}
require.ErrorIs(t, err, common.ErrTypeAssertFailure)
_, err = setAccount(&Context{}, objects.TrueValue, objects.TrueValue)
if !errors.Is(err, common.ErrTypeAssertFailure) {
t.Fatalf("received: '%v' but expected: '%v'", err, common.ErrTypeAssertFailure)
}
require.ErrorIs(t, err, common.ErrTypeAssertFailure)
_, err = setAccount(&Context{}, dummyStr, objects.TrueValue)
if !errors.Is(err, common.ErrTypeAssertFailure) {
t.Fatalf("received: '%v' but expected: '%v'", err, common.ErrTypeAssertFailure)
}
require.ErrorIs(t, err, common.ErrTypeAssertFailure)
_, err = setAccount(&Context{}, dummyStr, dummyStr, objects.TrueValue)
if !errors.Is(err, common.ErrTypeAssertFailure) {
t.Fatalf("received: '%v' but expected: '%v'", err, common.ErrTypeAssertFailure)
}
require.ErrorIs(t, err, common.ErrTypeAssertFailure)
_, err = setAccount(&Context{}, dummyStr, dummyStr, dummyStr, objects.TrueValue)
if !errors.Is(err, common.ErrTypeAssertFailure) {
t.Fatalf("received: '%v' but expected: '%v'", err, common.ErrTypeAssertFailure)
}
require.ErrorIs(t, err, common.ErrTypeAssertFailure)
_, err = setAccount(&Context{}, dummyStr, dummyStr, dummyStr, dummyStr, objects.TrueValue)
if !errors.Is(err, common.ErrTypeAssertFailure) {
t.Fatalf("received: '%v' but expected: '%v'", err, common.ErrTypeAssertFailure)
}
require.ErrorIs(t, err, common.ErrTypeAssertFailure)
_, err = setAccount(&Context{}, dummyStr, dummyStr, dummyStr, dummyStr, dummyStr, objects.TrueValue)
if !errors.Is(err, common.ErrTypeAssertFailure) {
t.Fatalf("received: '%v' but expected: '%v'", err, common.ErrTypeAssertFailure)
}
require.ErrorIs(t, err, common.ErrTypeAssertFailure)
resp, err := setAccount(&Context{}, dummyStr, dummyStr, dummyStr, dummyStr, dummyStr, dummyStr)
require.NoError(t, err)
@@ -443,19 +365,13 @@ func TestSetAccount(t *testing.T) {
func TestSetSubAccount(t *testing.T) {
t.Parallel()
_, err := setSubAccount()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Fatalf("received: '%v' but expected: '%v'", err, objects.ErrWrongNumArguments)
}
require.ErrorIs(t, err, objects.ErrWrongNumArguments)
_, err = setSubAccount(objects.TrueValue, objects.TrueValue)
if !errors.Is(err, common.ErrTypeAssertFailure) {
t.Fatalf("received: '%v' but expected: '%v'", err, common.ErrTypeAssertFailure)
}
require.ErrorIs(t, err, common.ErrTypeAssertFailure)
_, err = setSubAccount(&Context{}, objects.TrueValue)
if !errors.Is(err, common.ErrTypeAssertFailure) {
t.Fatalf("received: '%v' but expected: '%v'", err, common.ErrTypeAssertFailure)
}
require.ErrorIs(t, err, common.ErrTypeAssertFailure)
subby, err := setSubAccount(&Context{}, dummyStr)
require.NoError(t, err)

View File

@@ -1,7 +1,6 @@
package indicators
import (
"errors"
"math/rand"
"os"
"reflect"
@@ -55,9 +54,7 @@ func TestMain(m *testing.M) {
func TestMfi(t *testing.T) {
_, err := mfi()
if err != nil {
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
v := &objects.String{Value: testString}
@@ -124,9 +121,7 @@ func TestRsi(t *testing.T) {
func TestEMA(t *testing.T) {
_, err := ema()
if err != nil {
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
v := &objects.String{Value: testString}
@@ -166,9 +161,7 @@ func TestEMA(t *testing.T) {
func TestSMA(t *testing.T) {
_, err := sma()
if err != nil {
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
v := &objects.String{Value: testString}
@@ -208,9 +201,7 @@ func TestSMA(t *testing.T) {
func TestMACD(t *testing.T) {
_, err := macd()
if err != nil {
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
v := &objects.String{Value: testString}
@@ -256,9 +247,7 @@ func TestMACD(t *testing.T) {
func TestAtr(t *testing.T) {
_, err := atr()
if err != nil {
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
v := &objects.String{Value: testString}
@@ -298,9 +287,7 @@ func TestAtr(t *testing.T) {
func TestBbands(t *testing.T) {
_, err := bbands()
if err != nil {
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
_, err = bbands(&objects.String{Value: testString}, ohlcvData,
@@ -361,9 +348,7 @@ func TestBbands(t *testing.T) {
&objects.Float{Value: 2.0},
&objects.String{Value: testString})
if err != nil {
if !errors.Is(err, errInvalidSelector) {
t.Error(err)
}
assert.ErrorIs(t, err, errInvalidSelector)
}
_, err = bbands(objects.UndefinedValue, ohlcvData,
@@ -379,9 +364,7 @@ func TestBbands(t *testing.T) {
func TestOBV(t *testing.T) {
_, err := obv()
if err != nil {
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
_, err = obv(ohlcvData)

View File

@@ -9,6 +9,8 @@ import (
"time"
"github.com/gofrs/uuid"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
const (
@@ -49,25 +51,14 @@ func TestVMLoad(t *testing.T) {
started: 1,
}
testVM := manager.New()
err := testVM.Load(testScript)
if err != nil {
t.Fatal(err)
}
require.NoError(t, testVM.Load(testScript))
testScript = testScript[0 : len(testScript)-4]
testVM = manager.New()
err = testVM.Load(testScript)
if err != nil {
t.Fatal(err)
}
require.NoError(t, testVM.Load(testScript))
manager.config = configHelper(false, false, maxTestVirtualMachines)
err = testVM.Load(testScript)
if err != nil {
if !errors.Is(err, ErrScriptingDisabled) {
t.Fatal(err)
}
}
require.NoError(t, testVM.Load(testScript))
}
func TestVMLoad1s(t *testing.T) {
@@ -76,18 +67,10 @@ func TestVMLoad1s(t *testing.T) {
started: 1,
}
testVM := manager.New()
err := testVM.Load(testScriptRunner1s)
if err != nil {
t.Fatal(err)
}
require.NoError(t, testVM.Load(testScriptRunner1s))
testVM.CompileAndRun()
err = testVM.Shutdown()
if err != nil {
if !errors.Is(err, ErrNoVMLoaded) {
t.Fatal(err)
}
}
require.NoError(t, testVM.Shutdown())
}
func TestVMLoadNegativeTimer(t *testing.T) {
@@ -96,17 +79,10 @@ func TestVMLoadNegativeTimer(t *testing.T) {
started: 1,
}
testVM := manager.New()
err := testVM.Load(testScriptRunnerNegative)
if err != nil {
if !errors.Is(err, ErrNoVMLoaded) {
t.Fatal(err)
}
}
require.NoError(t, testVM.Load(testScriptRunnerNegative))
testVM.CompileAndRun()
err = testVM.Shutdown()
if err == nil {
t.Fatal("expect error on shutdown due to invalid VM")
}
require.Error(t, testVM.Shutdown())
}
func TestVMLoadNilVM(t *testing.T) {
@@ -115,19 +91,10 @@ func TestVMLoadNilVM(t *testing.T) {
started: 1,
}
testVM := manager.New()
err := testVM.Load(testScript)
if err != nil {
if !errors.Is(err, ErrNoVMLoaded) {
t.Fatal(err)
}
}
require.NoError(t, testVM.Load(testScript))
testVM = nil
err = testVM.Load(testScript)
if err != nil {
if !errors.Is(err, ErrNoVMLoaded) {
t.Fatal(err)
}
}
require.ErrorIs(t, testVM.Load(testScript), ErrNoVMLoaded)
}
func TestCompileAndRunNilVM(t *testing.T) {
@@ -137,28 +104,14 @@ func TestCompileAndRunNilVM(t *testing.T) {
}
vmcount := VMSCount.Len()
testVM := manager.New()
err := testVM.Load(testScript)
if err != nil {
if !errors.Is(err, ErrNoVMLoaded) {
t.Fatal(err)
}
}
err = testVM.Load(testScript)
if err != nil {
if !errors.Is(err, ErrNoVMLoaded) {
t.Fatal(err)
}
}
require.NoError(t, testVM.Load(testScript))
require.NoError(t, testVM.Load(testScript))
testVM = nil
testVM.CompileAndRun()
err = testVM.Shutdown()
if err == nil {
t.Fatal("VM should not be running with invalid timer")
}
if VMSCount.Len() == vmcount-1 {
t.Fatal("expected VM count to decrease")
}
require.ErrorIs(t, testVM.Shutdown(), ErrNoVMLoaded)
assert.NotEqual(t, vmcount-1, VMSCount.Len(), "Expected vmcount to decrease")
}
func TestVMLoadNoFile(t *testing.T) {
@@ -167,12 +120,7 @@ func TestVMLoadNoFile(t *testing.T) {
started: 1,
}
testVM := manager.New()
err := testVM.Load("missing file")
if err != nil {
if !errors.Is(err, os.ErrNotExist) {
t.Fatal(err)
}
}
assert.ErrorIs(t, testVM.Load("missing file"), os.ErrNotExist)
}
func TestVMCompile(t *testing.T) {

View File

@@ -2,7 +2,6 @@ package gct
import (
"context"
"errors"
"log"
"os"
"path/filepath"
@@ -10,8 +9,8 @@ import (
"testing"
objects "github.com/d5/tengo/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/thrasher-corp/gocryptotrader/common"
"github.com/thrasher-corp/gocryptotrader/config"
"github.com/thrasher-corp/gocryptotrader/engine"
exchange "github.com/thrasher-corp/gocryptotrader/exchanges"
@@ -102,45 +101,29 @@ var (
ctx = &gct.Context{}
tv = objects.TrueValue
fv = objects.FalseValue
errTestFailed = errors.New("test failed")
tv = objects.TrueValue
fv = objects.FalseValue
)
func TestExchangeOrderbook(t *testing.T) {
t.Parallel()
_, err := gct.ExchangeOrderbook(ctx, exch, currencyPair, delimiter, assetType)
if err != nil {
t.Fatal(err)
}
_, err = gct.ExchangeOrderbook(ctx, exchError, currencyPair, delimiter, assetType)
if err != nil && errors.Is(err, errTestFailed) {
t.Fatal(err)
}
assert.NoError(t, err)
_, err = gct.ExchangeOrderbook()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
func TestExchangeTicker(t *testing.T) {
t.Parallel()
_, err := gct.ExchangeTicker(ctx, exch, currencyPair, delimiter, assetType)
if err != nil {
t.Fatal(err)
}
assert.NoError(t, err)
_, err = gct.ExchangeTicker(ctx, exchError, currencyPair, delimiter, assetType)
if err != nil && errors.Is(err, errTestFailed) {
t.Fatal(err)
}
assert.NoError(t, err)
_, err = gct.ExchangeTicker()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
func TestExchangeExchanges(t *testing.T) {
@@ -161,27 +144,19 @@ func TestExchangeExchanges(t *testing.T) {
}
_, err = gct.ExchangeExchanges()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
func TestExchangePairs(t *testing.T) {
t.Parallel()
_, err := gct.ExchangePairs(exch, tv, assetType)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
_, err = gct.ExchangePairs(exchError, tv, assetType)
if err != nil && errors.Is(err, errTestFailed) {
t.Fatal(err)
}
assert.NoError(t, err)
_, err = gct.ExchangePairs()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Error(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
}
func TestExchangeAccountInfo(t *testing.T) {
@@ -199,26 +174,18 @@ func TestExchangeOrderQuery(t *testing.T) {
t.Parallel()
_, err := gct.ExchangeOrderQuery()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Fatal(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
_, err = gct.ExchangeOrderQuery(ctx, exch, orderID)
if err != nil && err != common.ErrNotYetImplemented {
t.Error(err)
}
assert.NoError(t, err)
}
func TestExchangeOrderCancel(t *testing.T) {
t.Parallel()
_, err := gct.ExchangeOrderCancel()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Fatal(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
_, err = gct.ExchangeOrderCancel(ctx, exch, orderID, currencyPair, assetType)
if err != nil && err != common.ErrNotYetImplemented {
t.Error(err)
}
assert.NoError(t, err)
}
func TestExchangeOrderSubmit(t *testing.T) {
@@ -251,66 +218,43 @@ func TestExchangeOrderSubmit(t *testing.T) {
func TestAllModuleNames(t *testing.T) {
t.Parallel()
x := gct.AllModuleNames()
xType := reflect.TypeOf(x).Kind()
if xType != reflect.Slice {
t.Errorf("AllModuleNames() should return slice instead received: %v", x)
}
assert.IsType(t, []string{}, gct.AllModuleNames(), "AllModuleNames should return a slice of strings")
}
func TestExchangeDepositAddress(t *testing.T) {
t.Parallel()
_, err := gct.ExchangeDepositAddress()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Fatal(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
currCode := &objects.String{Value: "BTC"}
chain := &objects.String{Value: ""}
_, err = gct.ExchangeDepositAddress(exch, currCode, chain)
if err != nil && err.Error() != "deposit address store is nil" {
t.Error(err)
}
assert.NoError(t, err)
}
func TestExchangeWithdrawCrypto(t *testing.T) {
t.Parallel()
_, err := gct.ExchangeWithdrawCrypto()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Fatal(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
currCode := &objects.String{Value: "BTC"}
desc := &objects.String{Value: "HELLO"}
address := &objects.String{Value: "0xTHISISALEGITBTCADDRESSS"}
amount := &objects.Float{Value: 1.0}
_, err = gct.ExchangeWithdrawCrypto(ctx,
exch,
currCode,
address,
address,
amount,
amount,
desc)
if err != nil {
t.Error(err)
}
_, err = gct.ExchangeWithdrawCrypto(ctx, exch, currCode, address, address, amount, amount, desc)
assert.NoError(t, err)
}
func TestExchangeWithdrawFiat(t *testing.T) {
t.Parallel()
_, err := gct.ExchangeWithdrawFiat()
if !errors.Is(err, objects.ErrWrongNumArguments) {
t.Fatal(err)
}
assert.ErrorIs(t, err, objects.ErrWrongNumArguments)
currCode := &objects.String{Value: "TEST"}
amount := &objects.Float{Value: 1.0}
desc := &objects.String{Value: "2"}
bankID := &objects.String{Value: "3!"}
_, err = gct.ExchangeWithdrawFiat(ctx, exch, currCode, desc, amount, bankID)
if err != nil && err.Error() != "exchange Bitstamp bank details not found for TEST" {
t.Error(err)
}
assert.NoError(t, err)
}