@@ -158,6 +158,8 @@ test.serial('[REST] Futures CancelOrder', async t => {
158158 t . is ( obj . orderId , '34234234' )
159159} )
160160
161+ const CONTRACT_PREFIX = "x-ftGmvgAN"
162+ const SPOT_PREFIX = "x-B3AUXNYV"
161163
162164test . serial ( '[REST] MarketBuy' , async t => {
163165 await binance . order ( { symbol : 'LTCUSDT' , side : 'BUY' , type : 'MARKET' , quantity : 0.5 } )
@@ -168,6 +170,7 @@ test.serial('[REST] MarketBuy', async t => {
168170 t . is ( obj . side , 'BUY' )
169171 t . is ( obj . type , 'MARKET' )
170172 t . is ( obj . quantity , '0.5' )
173+ t . true ( obj . newClientOrderId . startsWith ( SPOT_PREFIX ) )
171174} )
172175
173176test . serial ( '[REST] MarketSell' , async t => {
@@ -179,6 +182,8 @@ test.serial('[REST] MarketSell', async t => {
179182 t . is ( obj . side , 'SELL' )
180183 t . is ( obj . type , 'MARKET' )
181184 t . is ( obj . quantity , '0.5' )
185+ t . true ( obj . newClientOrderId . startsWith ( SPOT_PREFIX ) )
186+
182187} )
183188
184189test . serial ( '[REST] LimitBuy' , async t => {
@@ -190,6 +195,7 @@ test.serial('[REST] LimitBuy', async t => {
190195 t . is ( obj . side , 'BUY' )
191196 t . is ( obj . type , 'LIMIT' )
192197 t . is ( obj . quantity , '0.5' )
198+ t . true ( obj . newClientOrderId . startsWith ( SPOT_PREFIX ) )
193199} )
194200
195201test . serial ( '[REST] LimitSell' , async t => {
@@ -201,6 +207,7 @@ test.serial('[REST] LimitSell', async t => {
201207 t . is ( obj . side , 'SELL' )
202208 t . is ( obj . type , 'LIMIT' )
203209 t . is ( obj . quantity , '0.5' )
210+ t . true ( obj . newClientOrderId . startsWith ( SPOT_PREFIX ) )
204211} )
205212
206213
@@ -212,6 +219,7 @@ test.serial('[REST] Futures MarketBuy', async t => {
212219 t . is ( obj . side , 'BUY' )
213220 t . is ( obj . type , 'MARKET' )
214221 t . is ( obj . quantity , '0.5' )
222+ t . true ( obj . newClientOrderId . startsWith ( CONTRACT_PREFIX ) )
215223} )
216224
217225test . serial ( '[REST] Futures MarketSell' , async t => {
@@ -222,6 +230,7 @@ test.serial('[REST] Futures MarketSell', async t => {
222230 t . is ( obj . side , 'SELL' )
223231 t . is ( obj . type , 'MARKET' )
224232 t . is ( obj . quantity , '0.5' )
233+ t . true ( obj . newClientOrderId . startsWith ( CONTRACT_PREFIX ) )
225234} )
226235
227236test . serial ( '[REST] Futures LimitBuy' , async t => {
@@ -242,6 +251,7 @@ test.serial('[REST] Futures LimitSell', async t => {
242251 t . is ( obj . side , 'SELL' )
243252 t . is ( obj . type , 'LIMIT' )
244253 t . is ( obj . quantity , '0.5' )
254+ t . true ( obj . newClientOrderId . startsWith ( CONTRACT_PREFIX ) )
245255} )
246256
247257
@@ -263,6 +273,7 @@ test.serial('[REST] MarketBuy test', async t => {
263273 t . is ( obj . side , 'BUY' )
264274 t . is ( obj . type , 'MARKET' )
265275 t . is ( obj . quantity , '0.5' )
276+ t . true ( obj . newClientOrderId . startsWith ( SPOT_PREFIX ) )
266277} )
267278
268279test . serial ( '[REST] spot open orders' , async t => {
@@ -284,4 +295,56 @@ test.serial('[REST] Margin MarketBuy order', async t => {
284295 t . is ( obj . side , 'BUY' )
285296 t . is ( obj . type , 'MARKET' )
286297 t . is ( obj . quantity , '0.5' )
298+ t . true ( obj . newClientOrderId . startsWith ( SPOT_PREFIX ) )
299+ } )
300+
301+ test . serial ( '[REST] spot order with custom clientorderId' , async t => {
302+ await binance . order ( {
303+ symbol : 'LTCUSDT' ,
304+ side : 'BUY' ,
305+ type : 'LIMIT' ,
306+ quantity : 0.5 ,
307+ price : 100 ,
308+ newClientOrderId : 'myid'
309+ } )
310+ t . true ( interceptedUrl . startsWith ( 'https://api.binance.com/api/v3/order' ) )
311+ const body = interceptedUrl . replace ( 'https://api.binance.com/api/v3/order' , '' )
312+ const obj = urlToObject ( body )
313+ t . is ( obj . symbol , 'LTCUSDT' )
314+ t . is ( obj . side , 'BUY' )
315+ t . is ( obj . type , 'LIMIT' )
316+ t . is ( obj . quantity , '0.5' )
317+ t . is ( obj . price , '100' )
318+ t . is ( obj . newClientOrderId , 'myid' )
287319} )
320+
321+
322+ test . serial ( '[REST] delivery OrderBook' , async t => {
323+ try {
324+ await binance . deliveryBook ( { symbol : 'BTCUSD_PERP' } )
325+ } catch ( e ) {
326+ // it can throw an error because of the mocked response
327+ }
328+ t . is ( interceptedUrl , 'https://dapi.binance.com/dapi/v1/depth?symbol=BTCUSD_PERP' )
329+ } )
330+
331+ test . serial ( '[REST] futures set leverage' , async t => {
332+ try {
333+ await binance . futuresLeverage ( { symbol : 'BTCUSDT' , leverage : 5 } )
334+ } catch ( e ) {
335+ // it can throw an error because of the mocked response
336+ }
337+ t . true ( interceptedUrl . startsWith ( 'https://fapi.binance.com/fapi/v1/leverage?symbol=BTCUSDT&leverage=5' ) )
338+ } )
339+
340+
341+ test . serial ( '[REST] delivery MarketBuy' , async t => {
342+ await binance . deliveryOrder ( { symbol : 'BTCUSD_PERP' , side : 'BUY' , type : 'MARKET' , quantity : 0.1 } )
343+ t . true ( interceptedUrl . startsWith ( 'https://dapi.binance.com/dapi/v1/order' ) )
344+ const obj = urlToObject ( interceptedUrl . replace ( 'https://dapi.binance.com/dapi/v1/order' , '' ) )
345+ t . is ( obj . symbol , 'BTCUSD_PERP' )
346+ t . is ( obj . side , 'BUY' )
347+ t . is ( obj . type , 'MARKET' )
348+ t . is ( obj . quantity , '0.1' )
349+ t . true ( obj . newClientOrderId . startsWith ( CONTRACT_PREFIX ) )
350+ } )
0 commit comments