Skip to content

Commit

Permalink
Fix: return em[ty array in balance field
Browse files Browse the repository at this point in the history
  • Loading branch information
aopoltorzhicky committed Oct 9, 2024
1 parent 12fd4e3 commit 8e754eb
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 1 deletion.
49 changes: 49 additions & 0 deletions cmd/api/handler/address_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import (
"github.com/celenium-io/astria-indexer/internal/storage"
"github.com/celenium-io/astria-indexer/internal/storage/mock"
"github.com/celenium-io/astria-indexer/internal/storage/types"
testsuite "github.com/celenium-io/astria-indexer/internal/test_suite"
sdk "github.com/dipdup-net/indexer-sdk/pkg/storage"
"github.com/labstack/echo/v4"
"github.com/shopspring/decimal"
Expand Down Expand Up @@ -104,6 +105,54 @@ func (s *AddressTestSuite) TestGet() {
s.Require().Equal("nria", address.Bridge.FeeAsset)
}

func (s *AddressTestSuite) TestGetWithEmptyBalances() {
req := httptest.NewRequest(http.MethodGet, "/", nil)
rec := httptest.NewRecorder()
c := s.echo.NewContext(req, rec)
c.SetPath("/address/:hash")
c.SetParamNames("hash")
c.SetParamValues(testAddressHash)

s.address.EXPECT().
ByHash(gomock.Any(), testAddress.Hash).
Return(storage.Address{
Hash: testsuite.RandomAddress(),
Id: 1,
Nonce: 10,
ActionsCount: 1,
SignedTxCount: 1,
Balance: nil,
}, nil).
Times(1)

s.bridge.EXPECT().
ByAddress(gomock.Any(), testAddress.Id).
Return(storage.Bridge{
Asset: currency.DefaultCurrency,
FeeAsset: currency.DefaultCurrency,
Address: &testAddress,
}, nil).
Times(1)

s.Require().NoError(s.handler.Get(c))
s.Require().Equal(http.StatusOK, rec.Code)

var address responses.Address
err := json.NewDecoder(rec.Body).Decode(&address)
s.Require().NoError(err)
s.Require().EqualValues(1, address.Id)
s.Require().EqualValues(1, address.ActionsCount)
s.Require().EqualValues(1, address.SignedTxCount)
s.Require().EqualValues(0, address.Height)
s.Require().EqualValues(10, address.Nonce)
s.Require().NotNil(address.Bridge)
s.Require().Equal(testAddressHash, address.Bridge.Address)
s.Require().Equal("nria", address.Bridge.Asset)
s.Require().Equal("nria", address.Bridge.FeeAsset)
s.Require().NotNil(address.Balance)
s.Require().Empty(address.Balance)
}

func (s *AddressTestSuite) TestGetWithoutBridge() {
req := httptest.NewRequest(http.MethodGet, "/", nil)
rec := httptest.NewRecorder()
Expand Down
2 changes: 1 addition & 1 deletion cmd/api/handler/responses/address.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ type Address struct {
Hash string `example:"astria1phym4uktjn6gjle226009ge7u82w0dgtszs8x2" json:"hash" swaggertype:"string"`
IsBridge bool `example:"false" json:"is_bridge" swaggertype:"boolean"`

Balance []Balance `json:"balances,omitempty"`
Balance []Balance `json:"balances"`
Bridge *Bridge `json:"bridge,omitempty"`
}

Expand Down

0 comments on commit 8e754eb

Please sign in to comment.