@@ -5354,6 +5354,36 @@ public void searchOnAllTextFields() {
53545354 assertEquals (transaction .getId (), collection .getFirst ().getId ());
53555355 }
53565356
5357+ @ Test
5358+ public void searchOnVenmoUsername () {
5359+ TransactionRequest request = new TransactionRequest ()
5360+ .merchantAccountId (FAKE_VENMO_ACCOUNT_MERCHANT_ACCOUNT_ID )
5361+ .amount (SandboxValues .TransactionAmount .AUTHORIZE .amount )
5362+ .paymentMethodNonce (Nonce .VenmoAccount );
5363+
5364+ Result <Transaction > result = gateway .transaction ().sale (request );
5365+ assertTrue (result .isSuccess ());
5366+
5367+ Transaction transaction = result .getTarget ();
5368+ String venmoUsername = transaction .getVenmoAccountDetails ().getUsername ();
5369+ assertNotNull (venmoUsername );
5370+
5371+ TransactionSearchRequest matchingSearchRequest = new TransactionSearchRequest ()
5372+ .id ().is (transaction .getId ())
5373+ .venmoUsername ().is (venmoUsername );
5374+
5375+ ResourceCollection <Transaction > matchingCollection = gateway .transaction ().search (matchingSearchRequest );
5376+ assertEquals (1 , matchingCollection .getMaximumSize ());
5377+ assertEquals (transaction .getId (), matchingCollection .getFirst ().getId ());
5378+
5379+ TransactionSearchRequest nonMatchingSearchRequest = new TransactionSearchRequest ()
5380+ .id ().is (transaction .getId ())
5381+ .venmoUsername ().is (venmoUsername + "-does-not-match" );
5382+
5383+ ResourceCollection <Transaction > nonMatchingCollection = gateway .transaction ().search (nonMatchingSearchRequest );
5384+ assertEquals (0 , nonMatchingCollection .getMaximumSize ());
5385+ }
5386+
53575387 @ Test
53585388 public void searchWithCreditCardNumberStartsWithEndsWith () {
53595389 String creditCardToken = String .valueOf (new Random ().nextInt ());
0 commit comments