mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-19 06:54:19 +01:00
Fix invoice search not working on transaction id
This commit is contained in:
@@ -1513,7 +1513,7 @@ namespace BTCPayServer.Tests
|
|||||||
var ctx = tester.PayTester.GetService<ApplicationDbContextFactory>().CreateContext();
|
var ctx = tester.PayTester.GetService<ApplicationDbContextFactory>().CreateContext();
|
||||||
Assert.Equal(0, invoice.CryptoInfo[0].TxCount);
|
Assert.Equal(0, invoice.CryptoInfo[0].TxCount);
|
||||||
Assert.True(invoice.MinerFees.ContainsKey("BTC"));
|
Assert.True(invoice.MinerFees.ContainsKey("BTC"));
|
||||||
Assert.Equal(100m, invoice.MinerFees["BTC"].SatoshiPerBytes);
|
Assert.Contains(invoice.MinerFees["BTC"].SatoshiPerBytes, new[] { 100.0m, 20.0m });
|
||||||
Eventually(() =>
|
Eventually(() =>
|
||||||
{
|
{
|
||||||
var textSearchResult = tester.PayTester.InvoiceRepository.GetInvoices(new InvoiceQuery()
|
var textSearchResult = tester.PayTester.InvoiceRepository.GetInvoices(new InvoiceQuery()
|
||||||
@@ -1625,7 +1625,7 @@ namespace BTCPayServer.Tests
|
|||||||
}, Facade.Merchant);
|
}, Facade.Merchant);
|
||||||
invoiceAddress = BitcoinAddress.Create(invoice.BitcoinAddress, cashCow.Network);
|
invoiceAddress = BitcoinAddress.Create(invoice.BitcoinAddress, cashCow.Network);
|
||||||
|
|
||||||
cashCow.SendToAddress(invoiceAddress, invoice.BtcDue + Money.Coins(1));
|
var txId = cashCow.SendToAddress(invoiceAddress, invoice.BtcDue + Money.Coins(1));
|
||||||
|
|
||||||
Eventually(() =>
|
Eventually(() =>
|
||||||
{
|
{
|
||||||
@@ -1633,6 +1633,13 @@ namespace BTCPayServer.Tests
|
|||||||
Assert.Equal("paid", localInvoice.Status);
|
Assert.Equal("paid", localInvoice.Status);
|
||||||
Assert.Equal(Money.Zero, localInvoice.BtcDue);
|
Assert.Equal(Money.Zero, localInvoice.BtcDue);
|
||||||
Assert.Equal("paidOver", (string)((JValue)localInvoice.ExceptionStatus).Value);
|
Assert.Equal("paidOver", (string)((JValue)localInvoice.ExceptionStatus).Value);
|
||||||
|
|
||||||
|
var textSearchResult = tester.PayTester.InvoiceRepository.GetInvoices(new InvoiceQuery()
|
||||||
|
{
|
||||||
|
StoreId = new[] { user.StoreId },
|
||||||
|
TextSearch = txId.ToString()
|
||||||
|
}).GetAwaiter().GetResult();
|
||||||
|
Assert.Single(textSearchResult);
|
||||||
});
|
});
|
||||||
|
|
||||||
cashCow.Generate(1);
|
cashCow.Generate(1);
|
||||||
|
|||||||
@@ -295,6 +295,8 @@ namespace BTCPayServer.Services.Invoices
|
|||||||
{
|
{
|
||||||
using (var tx = _Engine.GetTransaction())
|
using (var tx = _Engine.GetTransaction())
|
||||||
{
|
{
|
||||||
|
var terms = searchTerms.Split(null);
|
||||||
|
searchTerms = string.Join(' ', terms.Select(t => t.Length > 50 ? t.Substring(0, 50) : t).ToArray());
|
||||||
return tx.TextSearch("InvoiceSearch").Block(searchTerms)
|
return tx.TextSearch("InvoiceSearch").Block(searchTerms)
|
||||||
.GetDocumentIDs()
|
.GetDocumentIDs()
|
||||||
.Select(id => Encoders.Base58.EncodeData(id))
|
.Select(id => Encoders.Base58.EncodeData(id))
|
||||||
|
|||||||
Reference in New Issue
Block a user