diff --git a/integration_tests/outgoing_payment_test.go b/integration_tests/outgoing_payment_test.go index 388f2d7..3b1fa32 100644 --- a/integration_tests/outgoing_payment_test.go +++ b/integration_tests/outgoing_payment_test.go @@ -5,6 +5,7 @@ import ( "fmt" "time" + "github.com/getAlby/lndhub.go/common" "github.com/lightningnetwork/lnd/lnrpc" "github.com/stretchr/testify/assert" ) @@ -49,5 +50,36 @@ func (suite *PaymentTestSuite) TestOutGoingPayment() { if err != nil { fmt.Printf("Error when getting transaction entries %v\n", err.Error()) } + // verify transaction entries data + feeAccount, _ := suite.service.AccountFor(context.Background(), common.AccountTypeFees, userId) + incomingAccount, _ := suite.service.AccountFor(context.Background(), common.AccountTypeIncoming, userId) + outgoingAccount, _ := suite.service.AccountFor(context.Background(), common.AccountTypeOutgoing, userId) + currentAccount, _ := suite.service.AccountFor(context.Background(), common.AccountTypeCurrent, userId) + + outgoingInvoices, _ := suite.service.InvoicesFor(context.Background(), userId, common.InvoiceTypeOutgoing) + incomingInvoices, _ := suite.service.InvoicesFor(context.Background(), userId, common.InvoiceTypeIncoming) + assert.Equal(suite.T(), 1, len(outgoingInvoices)) + assert.Equal(suite.T(), 1, len(incomingInvoices)) + assert.Equal(suite.T(), 3, len(transactonEntries)) + + assert.Equal(suite.T(), int64(aliceFundingSats), transactonEntries[0].Amount) + assert.Equal(suite.T(), currentAccount.ID, transactonEntries[0].CreditAccountID) + assert.Equal(suite.T(), incomingAccount.ID, transactonEntries[0].DebitAccountID) + assert.Equal(suite.T(), int64(0), transactonEntries[0].ParentID) + assert.Equal(suite.T(), incomingInvoices[0].ID, transactonEntries[0].InvoiceID) + + assert.Equal(suite.T(), int64(externalSatRequested), transactonEntries[1].Amount) + assert.Equal(suite.T(), outgoingAccount.ID, transactonEntries[1].CreditAccountID) + assert.Equal(suite.T(), currentAccount.ID, transactonEntries[1].DebitAccountID) + assert.Equal(suite.T(), int64(0), transactonEntries[1].ParentID) + assert.Equal(suite.T(), outgoingInvoices[0].ID, transactonEntries[1].InvoiceID) + + assert.Equal(suite.T(), int64(fee), transactonEntries[2].Amount) + assert.Equal(suite.T(), feeAccount.ID, transactonEntries[2].CreditAccountID) + assert.Equal(suite.T(), currentAccount.ID, transactonEntries[2].DebitAccountID) + assert.Equal(suite.T(), outgoingInvoices[0].ID, transactonEntries[2].InvoiceID) + + // make sure fee entry parent id is previous entry + assert.Equal(suite.T(), transactonEntries[1].ID, transactonEntries[2].ParentID) }