Skip to content

Commit 18ee56e

Browse files
azakrevska-epamskoong
authored andcommitted
HW-53463, HW-53464. Updated createTransferMethod(Wire Account) and tests (#38)
1 parent 6a570b8 commit 18ee56e

File tree

3 files changed

+82
-0
lines changed

3 files changed

+82
-0
lines changed

ui/src/main/java/com/hyperwallet/android/ui/repository/TransferMethodRepositoryImpl.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT;
2323
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD;
2424
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.PAYPAL_ACCOUNT;
25+
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.WIRE_ACCOUNT;
2526

2627
import android.os.Handler;
2728

@@ -54,6 +55,7 @@ public void createTransferMethod(@NonNull final HyperwalletTransferMethod transf
5455
LoadTransferMethodCallback callback) {
5556
switch (transferMethod.getField(TYPE)) {
5657
case BANK_ACCOUNT:
58+
case WIRE_ACCOUNT:
5759
createBankAccount(transferMethod, callback);
5860
break;
5961
case BANK_CARD:
@@ -96,6 +98,7 @@ public void deactivateTransferMethod(@NonNull final HyperwalletTransferMethod tr
9698
@NonNull final DeactivateTransferMethodCallback callback) {
9799
switch (transferMethod.getField(TYPE)) {
98100
case BANK_ACCOUNT:
101+
case WIRE_ACCOUNT:
99102
deactivateBankAccount(transferMethod, callback);
100103
break;
101104
case BANK_CARD:

ui/src/main/java/com/hyperwallet/android/ui/transfermethod/AddTransferMethodFragment.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT;
2424
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD;
2525
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.PAYPAL_ACCOUNT;
26+
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.WIRE_ACCOUNT;
2627

2728
import android.app.Activity;
2829
import android.content.Context;
@@ -509,6 +510,13 @@ private void triggerSubmit() {
509510
.transferMethodCurrency(mCurrency)
510511
.build();
511512
break;
513+
case WIRE_ACCOUNT:
514+
mTransferMethod = new HyperwalletBankAccount.Builder()
515+
.transferMethodCountry(mCountry)
516+
.transferMethodCurrency(mCurrency)
517+
.transferMethodType(WIRE_ACCOUNT)
518+
.build();
519+
break;
512520
default:
513521
mTransferMethod = new HyperwalletTransferMethod();
514522
mTransferMethod.setField(TRANSFER_METHOD_COUNTRY, mCountry);

ui/src/test/java/com/hyperwallet/android/ui/repository/TransferMethodRepositoryImplTest.java

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)