public async Task ShouldCallSleepServiceWithTrackingValue() { manager = new ClosingOrderManager(mockSleepService.Object, mockRunnerService.Object, mockOrderPlacer.Object, mockClosingStakeCalculator.Object); await manager.ManageCloseout(new OpenOrderResult(tradeDetail, orderWrapper)); mockSleepService.Verify(x => x.Sleep(100), Times.Once); }
public async Task ShouldCallGetFullHedgeStakeWithClosingPrice() { manager = new ClosingOrderManager(mockSleepService.Object, mockRunnerService.Object, mockOrderPlacer.Object, mockClosingStakeCalculator.Object); await manager.ManageCloseout(new OpenOrderResult(tradeDetail, orderWrapper)); mockClosingStakeCalculator.Verify(x => x.GetFullHedgeStake(It.IsAny <List <Order> >(), 8), Times.Once); }
public async Task ShouldCallPlaceOrderWithPersistenceType() { manager = new ClosingOrderManager(mockSleepService.Object, mockRunnerService.Object, mockOrderPlacer.Object, mockClosingStakeCalculator.Object); await manager.ManageCloseout(new OpenOrderResult(tradeDetail, orderWrapper)); mockOrderPlacer.Verify(x => x.PlaceOrder(It.Is <OrderWrapper>(y => y.Persistencetype == PersistenceType.LAPSE)), Times.Once); }
public async Task ShouldCallGetRunnerDetailsWithMarketId() { manager = new ClosingOrderManager(mockSleepService.Object, mockRunnerService.Object, mockOrderPlacer.Object, mockClosingStakeCalculator.Object); await manager.ManageCloseout(new OpenOrderResult(tradeDetail, orderWrapper)); mockRunnerService.Verify(x => x.GetRunnerDetails("A", 1), Times.Exactly(2)); }
public async Task ShouldThrowExceptionIfOrderReportIsNotSuccess() { mockOrderPlacer.Setup(x => x.PlaceOrder(It.IsAny <OrderWrapper>())).Returns(Task.FromResult(new PlaceExecutionReport() { Status = ExecutionReportStatus.FAILURE })); manager = new ClosingOrderManager(mockSleepService.Object, mockRunnerService.Object, mockOrderPlacer.Object, mockClosingStakeCalculator.Object); await Assert.ThrowsExceptionAsync <System.Exception>(() => manager.ManageCloseout(new OpenOrderResult(tradeDetail, orderWrapper))); }