Beispiel #1
0
def test_cancel_executed_order(mock_order_class, mock_exchange_class):

    exchange = mock_exchange_class.return_value
    exchange.options.max_trade_size = 1e6
    broker = Broker()
    broker.exchanges = [exchange]

    order = mock_order_class.return_value
    order.cancel = mock.Mock(return_value=None)

    broker.submit(order)
    assert order in broker.unexecuted

    order.status = OrderStatus.CANCELLED
    with pytest.raises(Warning):
        broker.cancel(order)
Beispiel #2
0
def test_cancel_unexecuted_order(mock_order_class, mock_exchange_class):

    exchange = mock_exchange_class.return_value
    broker = Broker()
    broker.exchanges = [exchange]

    order = mock_order_class.return_value
    order.cancel = mock.Mock(return_value=None)
    order.status = OrderStatus.PENDING

    broker.submit(order)
    assert order in broker.unexecuted

    broker.cancel(order)
    assert order not in broker.unexecuted
    order.cancel.assert_called_once_with()