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)
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()