async Task <Result <OrderActivated> > Run(SetupData data) { var order = new Order { Id = 1, ItemId = 1, LendingUnitId = 2, RequestingMemberId = 1, RequestingUnitId = 3, Status = data.StartingStatus }; var unitId = data.MemberSide == OrderSide.Lending ? order.LendingUnitId : order.RequestingUnitId; var member = new Member(2, unitId, data.MemberPermissions); var item = new Item { Id = 1, Price = 100 }; var orderingService = new Mock <IOrderingService>(); orderingService.Setup(a => a.GetOrder(1)).ReturnsAsync(order); orderingService.Setup(a => a.GetMemberById(2)).ReturnsAsync(member); orderingService.Setup(a => a.UpdateOrder(It.IsAny <Order>())) .ReturnsAsync(new BaseGatewayResponse(true)); orderingService.Setup(a => a.Update(It.IsAny <UnitItem>())) .ReturnsAsync(new BaseGatewayResponse(true)); orderingService.Setup(a => a.GetItem(1)).ReturnsAsync(item); orderingService.Setup(a => a.GetUnitItem(It.IsAny <int>(), It.IsAny <int>())) .ReturnsAsync(new UnitItem { UnitId = order.LendingUnitId, Amount = data.UnitItemAmount, ItemId = order.ItemId }); orderingService.Setup(a => a.TransterMoney(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())) .ReturnsAsync(new BaseGatewayResponse(true)); var handler = new ActivateHandler(orderingService.Object); var request = new ActivateOrderRequest(1, 2); return(await handler.Handle(request)); }
protected override void ProcessRecord() { base.ProcessRecord(); ActivateOrderRequest request; try { request = new ActivateOrderRequest { ActivateOrderDetails = ActivateOrderDetails, ActivationToken = ActivationToken, OpcRetryToken = OpcRetryToken, OpcRequestId = OpcRequestId }; response = client.ActivateOrder(request).GetAwaiter().GetResult(); WriteOutput(response, CreateWorkRequestObject(response.OpcWorkRequestId)); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }