public async Task TryToProcessPaymentTransferEventEvent_InvalidBalance_SuccessfullyProcessedWithWarning(long amount) { var campaignResponseModel = new BurnRuleResponse { Title = "burnRule" }; _campaignClientMock.Setup(x => x.History.GetBurnRuleByIdAsync(It.IsAny <Guid>())) .ReturnsAsync(campaignResponseModel); _paymentTransferRepoMock.Setup(x => x.AddPaymentTransferAsync(It.IsAny <PaymentTransferDto>())) .Returns(Task.CompletedTask) .Verifiable(); var paymentTransfer = new PaymentTransferDto { AssetSymbol = "asset", TransferId = "transferId", Amount = amount, CustomerId = "customerId", InvoiceId = "invoiceId", BurnRuleId = "3cfd1d93-34e4-44a5-9ccd-96734b24faa4", }; var operationsService = CreateSutInstance(); await operationsService.ProcessPaymentTransferTokensReservedEventAsync(paymentTransfer); _paymentTransferRepoMock.Verify(); }
private async Task <(decimal AmountInCurrency, Money18 AmountInTokens, ConversionSource ConversionSource)> GetBurnRuleConversionRate(BurnRuleResponse burnRule) { if (burnRule.UsePartnerCurrencyRate) { var partnerIds = burnRule.PartnerIds; return(await GetConversionRateForPartnerRules(partnerIds != null?partnerIds.Distinct().ToList() : new List <Guid>())); } return(burnRule.AmountInCurrency.Value, burnRule.AmountInTokens.Value, ConversionSource.BurnRule); }