def test_market_order(self): # Arrange order = self.order_factory.market( symbol=BTCUSDT, order_side=OrderSide.BUY, quantity=Quantity("0.10000000"), ) # Act result = BinanceOrderRequestBuilder.build_py(order) # Assert expected = { 'newClientOrderId': 'O-19700101-000000-000-001-1', 'recvWindow': 10000, 'type': 'MARKET', } self.assertEqual(expected, result)
def test_limit_buy_post_only_order(self): # Arrange order = self.order_factory.limit( symbol=BTCUSDT, order_side=OrderSide.BUY, quantity=Quantity("1.0"), price=Price("50000"), post_only=True, ) # Act result = BinanceOrderRequestBuilder.build_py(order) # Assert expected = { 'newClientOrderId': 'O-19700101-000000-000-001-1', 'recvWindow': 10000, 'type': 'LIMIT_MAKER', } self.assertEqual(expected, result)
def test_stop_market_buy_order(self): # Arrange order = self.order_factory.stop_market( symbol=BTCUSDT, order_side=OrderSide.SELL, quantity=Quantity("1.0"), price=Price("100000"), time_in_force=TimeInForce.GTC, ) # Act result = BinanceOrderRequestBuilder.build_py(order) # Assert expected = { 'newClientOrderId': 'O-19700101-000000-000-001-1', 'recvWindow': 10000, 'stopPrice': '100000', 'type': 'TAKE_PROFIT', } self.assertEqual(expected, result)
def test_limit_sell_fok_order(self): # Arrange order = self.order_factory.limit( symbol=BTCUSDT, order_side=OrderSide.SELL, quantity=Quantity("1.0"), price=Price("50000"), time_in_force=TimeInForce.FOK, post_only=False, ) # Act result = BinanceOrderRequestBuilder.build_py(order) # Assert expected = { 'newClientOrderId': 'O-19700101-000000-000-001-1', 'recvWindow': 10000, 'timeInForce': 'FOK', 'type': 'LIMIT', } self.assertEqual(expected, result)