MCPcopy Create free account
hub / github.com/devaccuracy/ledgerforge / TestGetTransactionByRef_QueryError

Function TestGetTransactionByRef_QueryError

database/transactions_test.go:892–919  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

890}
891
892func TestGetTransactionByRef_QueryError(t *testing.T) {
893 db, mock, err := sqlmock.New()
894 assert.NoError(t, err)
895 defer func() { _ = db.Close() }()
896
897 ds := Datasource{Conn: db}
898 ctx := context.Background()
899
900 query := `
901 SELECT transaction_id, source, reference, amount, precise_amount, currency, destination, description, status, created_at, meta_data, parent_transaction
902 FROM ledgerforge.transactions
903 WHERE reference = $1
904 `
905
906 mock.ExpectQuery(regexp.QuoteMeta(query)).
907 WithArgs("ref_123").
908 WillReturnError(errors.New("database connection error"))
909
910 txn, err := ds.GetTransactionByRef(ctx, "ref_123")
911 assert.Error(t, err)
912 assert.Equal(t, "", txn.TransactionID)
913 apiErr, ok := err.(apierror.APIError)
914 assert.True(t, ok)
915 assert.Equal(t, apierror.ErrInternalServer, apiErr.Code)
916
917 err = mock.ExpectationsWereMet()
918 assert.NoError(t, err)
919}
920
921func TestUpdateTransactionStatus_Success(t *testing.T) {
922 db, mock, err := sqlmock.New()

Callers

nothing calls this directly

Calls 3

GetTransactionByRefMethod · 0.95
CloseMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected