Search in sources :

Example 16 with FRAmount

use of com.forgerock.openbanking.common.model.openbanking.domain.common.FRAmount in project openbanking-aspsp by OpenBankingToolkit.

the class AcceptSinglePaymentTaskTest method shouldDebitAccount.

@Test
public void shouldDebitAccount() throws CurrencyConverterException {
    // Given
    FRPaymentSetup payment = defaultPayment();
    given(paymentsService.getAllPaymentsInProcess()).willReturn(Collections.singleton(payment));
    FRAccount account = defaultAccount(DEBIT_ACCOUNT);
    given(account2StoreService.getAccount(DEBIT_ACCOUNT)).willReturn(account);
    // When
    autoAcceptPaymentTask.autoAcceptPayment();
    // Then
    FRAmount instructedAmount = payment.getInitiation().getInstructedAmount();
    verify(moneyService).moveMoney(eq(account), eq(instructedAmount), eq(FRCreditDebitIndicator.DEBIT), eq(payment), any());
    verify(paymentsService).updatePayment(argThat(p -> p.getStatus().equals(ConsentStatusCode.ACCEPTEDSETTLEMENTCOMPLETED)));
}
Also used : ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) SinglePaymentService(com.forgerock.openbanking.common.services.store.payment.SinglePaymentService) ArgumentMatchers.argThat(org.mockito.ArgumentMatchers.argThat) Mock(org.mockito.Mock) ArgumentMatchers.eq(org.mockito.ArgumentMatchers.eq) RunWith(org.junit.runner.RunWith) FRWriteDomesticDataInitiation(com.forgerock.openbanking.common.model.openbanking.domain.payment.FRWriteDomesticDataInitiation) AccountStoreService(com.forgerock.openbanking.common.services.store.account.AccountStoreService) Mockito.doThrow(org.mockito.Mockito.doThrow) ConsentStatusCode(com.forgerock.openbanking.common.model.openbanking.persistence.payment.ConsentStatusCode) BDDMockito.given(org.mockito.BDDMockito.given) FRCreditDebitIndicator(com.forgerock.openbanking.common.model.openbanking.domain.account.common.FRCreditDebitIndicator) FRPaymentSetup(com.forgerock.openbanking.common.model.openbanking.persistence.payment.FRPaymentSetup) MoneyService(com.forgerock.openbanking.aspsp.rs.simulator.service.MoneyService) FRAccount(com.forgerock.openbanking.common.model.openbanking.persistence.account.FRAccount) InjectMocks(org.mockito.InjectMocks) FRAccountIdentifier(com.forgerock.openbanking.common.model.openbanking.domain.common.FRAccountIdentifier) FRWriteDomesticConsentData(com.forgerock.openbanking.common.model.openbanking.domain.payment.FRWriteDomesticConsentData) FRWriteDomesticConsent(com.forgerock.openbanking.common.model.openbanking.domain.payment.FRWriteDomesticConsent) Test(org.junit.Test) FRAmount(com.forgerock.openbanking.common.model.openbanking.domain.common.FRAmount) Mockito.verify(org.mockito.Mockito.verify) CurrencyConverterException(com.tunyk.currencyconverter.api.CurrencyConverterException) Optional(java.util.Optional) PaymentNotificationFacade(com.forgerock.openbanking.aspsp.rs.simulator.service.PaymentNotificationFacade) MockitoJUnitRunner(org.mockito.junit.MockitoJUnitRunner) Collections(java.util.Collections) FRAccount(com.forgerock.openbanking.common.model.openbanking.persistence.account.FRAccount) FRAmount(com.forgerock.openbanking.common.model.openbanking.domain.common.FRAmount) FRPaymentSetup(com.forgerock.openbanking.common.model.openbanking.persistence.payment.FRPaymentSetup) Test(org.junit.Test)

Example 17 with FRAmount

use of com.forgerock.openbanking.common.model.openbanking.domain.common.FRAmount in project openbanking-aspsp by OpenBankingToolkit.

the class MoneyServiceTest method shouldCreateTransaction.

@Test
public void shouldCreateTransaction() throws CurrencyConverterException {
    // Given
    FRBalance balance = defaultBalance(DEBIT_ACCOUNT, "20");
    given(balanceStoreService.getBalance(DEBIT_ACCOUNT, OBBalanceType1Code.INTERIMAVAILABLE)).willReturn(Optional.of(balance));
    CreateTransaction<FRPaymentSetup> createTransaction = mock(CreateTransaction.class);
    FRAccount account = defaultAccount(DEBIT_ACCOUNT);
    FRPaymentSetup payment = new FRPaymentSetup();
    FRTransaction transaction = JMockData.mock(FRTransaction.class);
    FRAmount amount = defaultAmount();
    given(createTransaction.createTransaction(account, payment, FRCreditDebitIndicator.DEBIT, balance, amount)).willReturn(transaction);
    // When
    moneyService.moveMoney(account, amount, FRCreditDebitIndicator.DEBIT, payment, createTransaction);
    // Then
    verify(transactionStoreService).create(transaction);
}
Also used : FRAccount(com.forgerock.openbanking.common.model.openbanking.persistence.account.FRAccount) FRAmount(com.forgerock.openbanking.common.model.openbanking.domain.common.FRAmount) FRBalance(com.forgerock.openbanking.common.model.openbanking.persistence.account.FRBalance) FRTransaction(com.forgerock.openbanking.common.model.openbanking.persistence.account.FRTransaction) FRPaymentSetup(com.forgerock.openbanking.common.model.openbanking.persistence.payment.FRPaymentSetup) Test(org.junit.Test)

Aggregations

FRAmount (com.forgerock.openbanking.common.model.openbanking.domain.common.FRAmount)17 Test (org.junit.Test)17 FRAccount (com.forgerock.openbanking.common.model.openbanking.persistence.account.FRAccount)13 MoneyService (com.forgerock.openbanking.aspsp.rs.simulator.service.MoneyService)12 PaymentNotificationFacade (com.forgerock.openbanking.aspsp.rs.simulator.service.PaymentNotificationFacade)12 FRCreditDebitIndicator (com.forgerock.openbanking.common.model.openbanking.domain.account.common.FRCreditDebitIndicator)12 FRAccountIdentifier (com.forgerock.openbanking.common.model.openbanking.domain.common.FRAccountIdentifier)12 ConsentStatusCode (com.forgerock.openbanking.common.model.openbanking.persistence.payment.ConsentStatusCode)12 AccountStoreService (com.forgerock.openbanking.common.services.store.account.AccountStoreService)12 CurrencyConverterException (com.tunyk.currencyconverter.api.CurrencyConverterException)12 Collections (java.util.Collections)12 Optional (java.util.Optional)12 RunWith (org.junit.runner.RunWith)12 ArgumentMatchers.any (org.mockito.ArgumentMatchers.any)12 ArgumentMatchers.argThat (org.mockito.ArgumentMatchers.argThat)12 ArgumentMatchers.eq (org.mockito.ArgumentMatchers.eq)12 BDDMockito.given (org.mockito.BDDMockito.given)12 InjectMocks (org.mockito.InjectMocks)12 Mock (org.mockito.Mock)12 Mockito.doThrow (org.mockito.Mockito.doThrow)12