Skip to content

Commit 0232369

Browse files
committed
gateio: stabilise fetch orderbook coverage
1 parent 7e682ea commit 0232369

File tree

1 file changed

+27
-7
lines changed

1 file changed

+27
-7
lines changed

exchanges/gateio/gateio_wrapper_test.go

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,20 @@ func TestFetchOrderbook(t *testing.T) {
9797

9898
testexch.UpdatePairsOnce(t, e)
9999

100-
availSpot, err := e.GetAvailablePairs(asset.Spot)
101-
require.NoError(t, err, "GetAvailablePairs must not error")
102-
103100
availMargin, err := e.GetAvailablePairs(asset.Margin)
104101
require.NoError(t, err, "GetAvailablePairs must not error")
102+
require.NotEmpty(t, availMargin, "margin pairs must not be empty")
105103

106-
marginPairNotInSpot, err := availMargin.Remove(availSpot...).GetRandomPair()
107-
require.NoError(t, err, "GetRandomPair must not error")
104+
enabledMargin, err := e.GetEnabledPairs(asset.Margin)
105+
require.NoError(t, err, "GetEnabledPairs must not error")
106+
107+
marginPair := availMargin[0]
108+
for _, candidate := range enabledMargin {
109+
if availMargin.Contains(candidate, true) {
110+
marginPair = candidate
111+
break
112+
}
113+
}
108114

109115
availOptions, err := e.GetAvailablePairs(asset.Options)
110116
require.NoError(t, err, "GetAvailablePairs must not error")
@@ -133,9 +139,9 @@ func TestFetchOrderbook(t *testing.T) {
133139
err error
134140
}{
135141
{pair: currency.EMPTYPAIR, a: asset.Spot, err: currency.ErrCurrencyPairEmpty},
136-
{pair: marginPairNotInSpot, a: asset.Margin, err: errNoSpotInstrument},
137-
{pair: marginPairNotInSpot, a: asset.Binary, err: asset.ErrNotSupported},
142+
{pair: marginPair, a: asset.Binary, err: asset.ErrNotSupported},
138143
{pair: currency.NewBTCUSDT(), a: asset.Spot},
144+
{pair: marginPair, a: asset.Margin},
139145
{pair: currency.NewBTCUSDT(), a: asset.USDTMarginedFutures},
140146
{pair: deliveryPair, a: asset.DeliveryFutures},
141147
{pair: optionsPair, a: asset.Options},
@@ -160,3 +166,17 @@ func TestFetchOrderbook(t *testing.T) {
160166
})
161167
}
162168
}
169+
170+
func TestFetchOrderbookNoSpotInstrument(t *testing.T) {
171+
t.Parallel()
172+
173+
ex := new(Exchange)
174+
ex.SetDefaults()
175+
ex.Name = t.Name()
176+
177+
require.NoError(t, ex.Base.CurrencyPairs.StorePairs(asset.Spot, currency.Pairs{currency.NewBTCUSDT()}, false))
178+
179+
fakePair := currency.NewPair(currency.NewCode("ZZFAKE"), currency.USDT)
180+
_, err := ex.fetchOrderbook(t.Context(), fakePair, asset.Margin, 1)
181+
require.ErrorIs(t, err, errNoSpotInstrument)
182+
}

0 commit comments

Comments
 (0)