@@ -558,4 +558,75 @@ public Object answer(InvocationOnMock invocation) {
558558 // assert
559559 assertThat (mErrorsArgumentCaptor .getValue ().getErrors (), hasItem (returnedError ));
560560 }
561+
562+ @ Test
563+ public void testCreateTransferMethod_wireAccountWithSuccess () {
564+ HyperwalletBankAccount bankAccount = new HyperwalletBankAccount
565+ .Builder ("US" , "USD" , "1411413412" )
566+ .transferMethodType (HyperwalletTransferMethod .TransferMethodTypes .WIRE_ACCOUNT )
567+ .build ();
568+
569+ doAnswer (new Answer () {
570+ @ Override
571+ public Object answer (InvocationOnMock invocation ) {
572+ HyperwalletListener listener = (HyperwalletListener ) invocation .getArguments ()[1 ];
573+ HyperwalletBankAccount returnedBank = new HyperwalletBankAccount
574+ .Builder ("US" , "USD" , "1411413412" )
575+ .bankName ("Mock Bank Response" )
576+ .transferMethodType (HyperwalletTransferMethod .TransferMethodTypes .WIRE_ACCOUNT )
577+ .build ();
578+ listener .onSuccess (returnedBank );
579+ return listener ;
580+ }
581+ }).when (mHyperwallet ).createBankAccount (any (HyperwalletBankAccount .class ),
582+ ArgumentMatchers .<HyperwalletListener <HyperwalletBankAccount >>any ());
583+
584+ // test
585+ mTransferMethodRepository .createTransferMethod (bankAccount , mLoadTransferMethodCallback );
586+
587+ verify (mLoadTransferMethodCallback ).onTransferMethodLoaded (mBankAccountArgumentCaptor .capture ());
588+ verify (mLoadTransferMethodCallback , never ()).onError (any (HyperwalletErrors .class ));
589+
590+ HyperwalletBankAccount transferMethod = mBankAccountArgumentCaptor .getValue ();
591+ assertThat (transferMethod , is (notNullValue ()));
592+ assertThat (transferMethod .getField (TYPE ), is (HyperwalletTransferMethod .TransferMethodTypes .WIRE_ACCOUNT ));
593+ assertThat (transferMethod .getField (BANK_NAME ), is ("Mock Bank Response" ));
594+ assertThat (transferMethod .getField (TRANSFER_METHOD_COUNTRY ), is ("US" ));
595+ assertThat (transferMethod .getField (TRANSFER_METHOD_CURRENCY ), is ("USD" ));
596+ assertThat (transferMethod .getField (BANK_ACCOUNT_ID ), is ("1411413412" ));
597+ }
598+
599+ @ Test
600+ public void testDeactivateTransferMethod_wireAccountWithSuccess () {
601+ HyperwalletBankAccount bankAccount = new HyperwalletBankAccount
602+ .Builder ("CA" , "CAD" , "3423423432" )
603+ .transferMethodType (HyperwalletTransferMethod .TransferMethodTypes .WIRE_ACCOUNT )
604+ .token ("trm-123" )
605+ .build ();
606+ bankAccount .setField (STATUS , HyperwalletStatusTransition .StatusDefinition .ACTIVATED );
607+ doAnswer (new Answer () {
608+ @ Override
609+ public Object answer (InvocationOnMock invocation ) {
610+ HyperwalletStatusTransition statusTransition = new HyperwalletStatusTransition (DE_ACTIVATED );
611+ statusTransition .setNotes ("Closing this account." );
612+ HyperwalletListener listener = (HyperwalletListener ) invocation .getArguments ()[2 ];
613+ listener .onSuccess (statusTransition );
614+ return listener ;
615+ }
616+ }).when (mHyperwallet ).deactivateBankAccount (anyString (), ArgumentMatchers .<String >isNull (),
617+ ArgumentMatchers .<HyperwalletListener <HyperwalletStatusTransition >>any ());
618+
619+ // test
620+ mTransferMethodRepository .deactivateTransferMethod (bankAccount , mDeactivateTransferMethodCallback );
621+
622+ verify (mDeactivateTransferMethodCallback ).onTransferMethodDeactivated (
623+ mStatusTransitionArgumentCaptor .capture ());
624+ verify (mDeactivateTransferMethodCallback , never ()).onError (any (HyperwalletErrors .class ));
625+
626+ HyperwalletStatusTransition statusTransition = mStatusTransitionArgumentCaptor .getValue ();
627+ assertThat (statusTransition , is (notNullValue ()));
628+ assertThat (statusTransition .getTransition (), is (DE_ACTIVATED ));
629+ assertThat (statusTransition .getNotes (), is ("Closing this account." ));
630+ }
631+
561632}
0 commit comments