### Question:
TppAccountsController implements TppAccountsRestApi { @Override public ResponseEntity<AccountDetailsTO> getAccountDetailsByIban(String iban) { return accountRestClient.getAccountDetailsByIban(iban); }  @Override ResponseEntity<Void> createAccount(String userId, DepositAccount account); @Override ResponseEntity<Void> updateAccountAccess(AccountAccess accountAccess); @Override ResponseEntity<List<AccountDetailsTO>> getAllAccounts(); @Override ResponseEntity<CustomPageImpl<AccountDetailsTO>> getAllAccounts(String queryParam, int page, int size); @Override ResponseEntity<AccountDetailsTO> getAccountDetailsByIban(String iban); @Override ResponseEntity<AccountDetailsTO> getSingleAccount(String accountId); @Override ResponseEntity<AccountReport> accountReport(String accountId); @Override ResponseEntity<Void> depositCash(String accountId, AmountTO amount); @Override ResponseEntity<Resource> downloadAccountTemplate(); @Override ResponseEntity<Boolean> changeStatus(String accountId);  }### Answer:
@Test void getAccountDetailsByIban() { when(accountRestClient.getAccountDetailsByIban(any())).thenAnswer(i -> ResponseEntity.ok(getAccountDetailsTO())); ResponseEntity<AccountDetailsTO> response = accountsController.getAccountDetailsByIban(IBAN); assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); assertEquals(response.getBody(), getAccountDetailsTO()); }