22
33import java .math .BigInteger ;
44import java .util .Collections ;
5+ import java .util .List ;
56import java .util .Optional ;
67import jakarta .validation .constraints .NotNull ;
78
3839import static org .junit .jupiter .api .Assertions .assertEquals ;
3940import static org .junit .jupiter .api .Assertions .assertNotNull ;
4041import static org .junit .jupiter .api .Assertions .assertThrows ;
42+ import static org .mockito .ArgumentMatchers .any ;
4143import static org .mockito .Mockito .verify ;
4244import static org .mockito .Mockito .verifyNoMoreInteractions ;
4345import static org .mockito .Mockito .when ;
@@ -86,6 +88,7 @@ void getAccountBalanceNoStakeAddressPositiveTest() {
8688 verify (ledgerAccountService ).findBalanceByAddressAndBlock (accountAddress , 1L );
8789 verify (accountBalanceRequest ).getAccountIdentifier ();
8890 verify (accountBalanceRequest ).getBlockIdentifier ();
91+ verify (accountBalanceRequest ).getCurrencies ();
8992 verifyNoMoreInteractions (ledgerAccountService );
9093 verifyNoMoreInteractions (accountBalanceRequest );
9194 verifyNoMoreInteractions (accountIdentifier );
@@ -116,6 +119,7 @@ void getAccountBalanceStakeAddressPositiveTest() {
116119 .findBalanceByStakeAddressAndBlock (accountAddress , 1L );
117120 verify (accountBalanceRequest ).getAccountIdentifier ();
118121 verify (accountBalanceRequest ).getBlockIdentifier ();
122+ verify (accountBalanceRequest ).getCurrencies ();
119123 verifyNoMoreInteractions (ledgerAccountService );
120124 verifyNoMoreInteractions (accountBalanceRequest );
121125 verifyNoMoreInteractions (accountIdentifier );
@@ -129,11 +133,32 @@ private static AddressBalance getMockedAddressBalance() {
129133 return mock ;
130134 }
131135
136+ @ Test
137+ void getFilteredAccountBalance () {
138+ String address = "addr_test1qz5t8wq55e09usmh07ymxry8atzwxwt2nwwzfngg6esffxvw2pfap6uqmkj3n6zmlrsgz397md2gt7yqs5p255uygaesx608y5" ;
139+ when (ledgerAccountService .findBalanceByAddressAndBlock (any (), any ()))
140+ .thenReturn (List .of (AddressBalance .builder ().address (address ).unit ("lovelace" ).number (10L ).quantity (
141+ BigInteger .valueOf (10 )).build (),
142+ AddressBalance .builder ().address (address ).unit ("bd976e131cfc3956b806967b06530e48c20ed5498b46a5eb836b61c2" ).number (10L ).quantity (
143+ BigInteger .valueOf (10 )).build ()));
144+ BlockIdentifierExtended block = getMockedBlockIdentifierExtended ();
145+ when (ledgerBlockService .findLatestBlockIdentifier ()).thenReturn (block );
146+ AccountBalanceRequest accountBalanceRequest = AccountBalanceRequest .builder ()
147+ .accountIdentifier (AccountIdentifier .builder ().address (address ).build ())
148+ .currencies (List .of (Currency .builder ().symbol ("ADA" ).build ()))
149+ .build ();
150+ AccountBalanceResponse accountBalanceResponse = accountService .getAccountBalance (
151+ accountBalanceRequest );
152+
153+ assertEquals (1 , accountBalanceResponse .getBalances ().size ());
154+ }
155+
132156 @ Test
133157 void getAccountBalanceNoStakeAddressNullBlockIdentifierPositiveTest () {
134158 // Shelly testnet address
135159 String accountAddress = "addr_test1vru64wlzn85v7fecg0mz33lh00wlggqtquvzzuhf6vusyes32jz9w" ;
136160 AccountBalanceRequest accountBalanceRequest = Mockito .mock (AccountBalanceRequest .class );
161+
137162 AccountIdentifier accountIdentifier = Mockito .mock (AccountIdentifier .class );
138163 when (accountBalanceRequest .getAccountIdentifier ()).thenReturn (accountIdentifier );
139164 when (accountIdentifier .getAddress ()).thenReturn (accountAddress );
@@ -158,6 +183,7 @@ void getAccountBalanceNoStakeAddressNullBlockIdentifierPositiveTest() {
158183 verify (ledgerAccountService ).findBalanceByAddressAndBlock (accountAddress , 1L );
159184 verify (accountBalanceRequest ).getAccountIdentifier ();
160185 verify (accountBalanceRequest ).getBlockIdentifier ();
186+ verify (accountBalanceRequest ).getCurrencies ();
161187 verifyNoMoreInteractions (ledgerAccountService );
162188 verifyNoMoreInteractions (accountBalanceRequest );
163189 verifyNoMoreInteractions (accountIdentifier );
@@ -187,6 +213,7 @@ void getAccountBalanceStakeAddressWithEmptyBalancesThrowTest() {
187213 .findBalanceByStakeAddressAndBlock (accountAddress , 1L );
188214 verify (accountBalanceRequest ).getAccountIdentifier ();
189215 verify (accountBalanceRequest ).getBlockIdentifier ();
216+ verify (accountBalanceRequest ).getCurrencies ();
190217 verifyNoMoreInteractions (ledgerAccountService );
191218 verifyNoMoreInteractions (accountBalanceRequest );
192219 verifyNoMoreInteractions (accountIdentifier );
@@ -209,6 +236,7 @@ void getAccountBalanceStakeAddressWithBlockDtoNullThrowTest() {
209236 verify (ledgerBlockService ).findBlockIdentifier (1L , HASH );
210237 verify (accountBalanceRequest ).getAccountIdentifier ();
211238 verify (accountBalanceRequest ).getBlockIdentifier ();
239+ verify (accountBalanceRequest ).getCurrencies ();
212240 verifyNoMoreInteractions (ledgerAccountService );
213241 verifyNoMoreInteractions (accountBalanceRequest );
214242 verifyNoMoreInteractions (accountIdentifier );
@@ -256,6 +284,7 @@ void getAccountBalanceWithStakeAddressAndNullBalanceThrowTest() {
256284 .findBalanceByStakeAddressAndBlock (accountAddress , 1L );
257285 verify (accountBalanceRequest ).getAccountIdentifier ();
258286 verify (accountBalanceRequest ).getBlockIdentifier ();
287+ verify (accountBalanceRequest ).getCurrencies ();
259288 verifyNoMoreInteractions (ledgerAccountService );
260289 verifyNoMoreInteractions (accountBalanceRequest );
261290 verifyNoMoreInteractions (accountIdentifier );
0 commit comments