Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT;
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD;
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.PAYPAL_ACCOUNT;
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.WIRE_ACCOUNT;

import android.os.Handler;

Expand Down Expand Up @@ -54,6 +55,7 @@ public void createTransferMethod(@NonNull final HyperwalletTransferMethod transf
LoadTransferMethodCallback callback) {
switch (transferMethod.getField(TYPE)) {
case BANK_ACCOUNT:
case WIRE_ACCOUNT:
createBankAccount(transferMethod, callback);
break;
case BANK_CARD:
Expand Down Expand Up @@ -96,6 +98,7 @@ public void deactivateTransferMethod(@NonNull final HyperwalletTransferMethod tr
@NonNull final DeactivateTransferMethodCallback callback) {
switch (transferMethod.getField(TYPE)) {
case BANK_ACCOUNT:
case WIRE_ACCOUNT:
deactivateBankAccount(transferMethod, callback);
break;
case BANK_CARD:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_ACCOUNT;
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.BANK_CARD;
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.PAYPAL_ACCOUNT;
import static com.hyperwallet.android.model.transfermethod.HyperwalletTransferMethod.TransferMethodTypes.WIRE_ACCOUNT;

import android.app.Activity;
import android.content.Context;
Expand Down Expand Up @@ -509,6 +510,13 @@ private void triggerSubmit() {
.transferMethodCurrency(mCurrency)
.build();
break;
case WIRE_ACCOUNT:
mTransferMethod = new HyperwalletBankAccount.Builder()
.transferMethodCountry(mCountry)
.transferMethodCurrency(mCurrency)
.transferMethodType(WIRE_ACCOUNT)
.build();
break;
default:
mTransferMethod = new HyperwalletTransferMethod();
mTransferMethod.setField(TRANSFER_METHOD_COUNTRY, mCountry);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -558,4 +558,75 @@ public Object answer(InvocationOnMock invocation) {
// assert
assertThat(mErrorsArgumentCaptor.getValue().getErrors(), hasItem(returnedError));
}

@Test
public void testCreateTransferMethod_wireAccountWithSuccess() {
HyperwalletBankAccount bankAccount = new HyperwalletBankAccount
.Builder("US", "USD", "1411413412")
.transferMethodType(HyperwalletTransferMethod.TransferMethodTypes.WIRE_ACCOUNT)
.build();

doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocation) {
HyperwalletListener listener = (HyperwalletListener) invocation.getArguments()[1];
HyperwalletBankAccount returnedBank = new HyperwalletBankAccount
.Builder("US", "USD", "1411413412")
.bankName("Mock Bank Response")
.transferMethodType(HyperwalletTransferMethod.TransferMethodTypes.WIRE_ACCOUNT)
.build();
listener.onSuccess(returnedBank);
return listener;
}
}).when(mHyperwallet).createBankAccount(any(HyperwalletBankAccount.class),
ArgumentMatchers.<HyperwalletListener<HyperwalletBankAccount>>any());

// test
mTransferMethodRepository.createTransferMethod(bankAccount, mLoadTransferMethodCallback);

verify(mLoadTransferMethodCallback).onTransferMethodLoaded(mBankAccountArgumentCaptor.capture());
verify(mLoadTransferMethodCallback, never()).onError(any(HyperwalletErrors.class));

HyperwalletBankAccount transferMethod = mBankAccountArgumentCaptor.getValue();
assertThat(transferMethod, is(notNullValue()));
assertThat(transferMethod.getField(TYPE), is(HyperwalletTransferMethod.TransferMethodTypes.WIRE_ACCOUNT));
assertThat(transferMethod.getField(BANK_NAME), is("Mock Bank Response"));
assertThat(transferMethod.getField(TRANSFER_METHOD_COUNTRY), is("US"));
assertThat(transferMethod.getField(TRANSFER_METHOD_CURRENCY), is("USD"));
assertThat(transferMethod.getField(BANK_ACCOUNT_ID), is("1411413412"));
}

@Test
public void testDeactivateTransferMethod_wireAccountWithSuccess() {
HyperwalletBankAccount bankAccount = new HyperwalletBankAccount
.Builder("CA", "CAD", "3423423432")
.transferMethodType(HyperwalletTransferMethod.TransferMethodTypes.WIRE_ACCOUNT)
.token("trm-123")
.build();
bankAccount.setField(STATUS, HyperwalletStatusTransition.StatusDefinition.ACTIVATED);
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocation) {
HyperwalletStatusTransition statusTransition = new HyperwalletStatusTransition(DE_ACTIVATED);
statusTransition.setNotes("Closing this account.");
HyperwalletListener listener = (HyperwalletListener) invocation.getArguments()[2];
listener.onSuccess(statusTransition);
return listener;
}
}).when(mHyperwallet).deactivateBankAccount(anyString(), ArgumentMatchers.<String>isNull(),
ArgumentMatchers.<HyperwalletListener<HyperwalletStatusTransition>>any());

// test
mTransferMethodRepository.deactivateTransferMethod(bankAccount, mDeactivateTransferMethodCallback);

verify(mDeactivateTransferMethodCallback).onTransferMethodDeactivated(
mStatusTransitionArgumentCaptor.capture());
verify(mDeactivateTransferMethodCallback, never()).onError(any(HyperwalletErrors.class));

HyperwalletStatusTransition statusTransition = mStatusTransitionArgumentCaptor.getValue();
assertThat(statusTransition, is(notNullValue()));
assertThat(statusTransition.getTransition(), is(DE_ACTIVATED));
assertThat(statusTransition.getNotes(), is("Closing this account."));
}

}