Search in sources :

Example 6 with UserReferenceDto

use of org.mifos.dto.domain.UserReferenceDto in project head by mifos.

the class StandardAccountServiceIntegrationTest method testMakePaymentComment.

@Test
public void testMakePaymentComment() throws Exception {
    String paymentAmount = "700";
    String comment = "test comment";
    AccountPaymentParametersDto accountPaymentParametersDto = new AccountPaymentParametersDto(new UserReferenceDto(groupLoan.getPersonnel().getPersonnelId()), new AccountReferenceDto(groupLoan.getAccountId()), new BigDecimal(paymentAmount), new LocalDate(), defaultPaymentType, comment);
    standardAccountService.makePayment(accountPaymentParametersDto);
    TestObjectFactory.updateObject(groupLoan);
    Assert.assertEquals("We should get the comment back", comment, groupLoan.findMostRecentPaymentByPaymentDate().getComment());
}
Also used : UserReferenceDto(org.mifos.dto.domain.UserReferenceDto) AccountReferenceDto(org.mifos.dto.domain.AccountReferenceDto) AccountPaymentParametersDto(org.mifos.dto.domain.AccountPaymentParametersDto) LocalDate(org.joda.time.LocalDate) BigDecimal(java.math.BigDecimal) Test(org.junit.Test)

Example 7 with UserReferenceDto

use of org.mifos.dto.domain.UserReferenceDto in project head by mifos.

the class StandardAccountServiceIntegrationTest method testValidatePaymentWithInvalidLargePaymentAmount.

@Test
public void testValidatePaymentWithInvalidLargePaymentAmount() throws Exception {
    String paymentAmount = "700000";
    AccountPaymentParametersDto accountPaymentParametersDto = new AccountPaymentParametersDto(new UserReferenceDto(groupLoan.getPersonnel().getPersonnelId()), new AccountReferenceDto(groupLoan.getAccountId()), new BigDecimal(paymentAmount), new LocalDate(), defaultPaymentType, "");
    List<InvalidPaymentReason> errors = standardAccountService.validatePayment(accountPaymentParametersDto);
    Assert.assertTrue(errors.contains(InvalidPaymentReason.INVALID_PAYMENT_AMOUNT));
}
Also used : UserReferenceDto(org.mifos.dto.domain.UserReferenceDto) AccountReferenceDto(org.mifos.dto.domain.AccountReferenceDto) AccountPaymentParametersDto(org.mifos.dto.domain.AccountPaymentParametersDto) LocalDate(org.joda.time.LocalDate) BigDecimal(java.math.BigDecimal) Test(org.junit.Test)

Example 8 with UserReferenceDto

use of org.mifos.dto.domain.UserReferenceDto in project head by mifos.

the class StandardAccountServiceIntegrationTest method testMakePaymentForSavingsAccountOnDeposit.

@Test
public void testMakePaymentForSavingsAccountOnDeposit() throws Exception {
    savingsBO = createClientSavingsAccount();
    String deposit = "400";
    CustomerDto clientDto = new CustomerDto();
    clientDto.setCustomerId(client.getCustomerId());
    //FIXME why one day in future payment is allowed
    LocalDate paymentDate = new LocalDate().plusDays(1);
    LocalDate receiptDate = new LocalDate().minusDays(3);
    String receiptNumber = "AA/03/UX-9Q";
    Assert.assertEquals(0, savingsBO.getAccountPayments().size());
    AccountPaymentParametersDto depositPayment = new AccountPaymentParametersDto(new UserReferenceDto(savingsBO.getPersonnel().getPersonnelId()), new AccountReferenceDto(savingsBO.getAccountId()), new BigDecimal(deposit), paymentDate, defaultPaymentType, "comment", receiptDate, receiptNumber, clientDto);
    standardAccountService.makePayment(depositPayment);
    TestObjectFactory.updateObject(savingsBO);
    Assert.assertEquals("The amount returned for the payment should have been " + deposit, Double.parseDouble(deposit), savingsBO.getLastPmntAmnt());
    Assert.assertEquals(1, savingsBO.getAccountPayments().size());
    for (AccountPaymentEntity payment : savingsBO.getAccountPayments()) {
        Assert.assertEquals(TestUtils.createMoney(deposit), payment.getAmount());
        Assert.assertEquals(1, payment.getAccountTrxns().size());
        Assert.assertEquals(paymentDate.toDateMidnight().toDate(), payment.getPaymentDate());
        Assert.assertEquals(defaultPaymentType.getName(), payment.getPaymentType().getName());
        Assert.assertEquals("comment", payment.getComment());
        Assert.assertEquals(savingsBO, payment.getAccount());
        Assert.assertEquals(savingsBO.getPersonnel(), payment.getCreatedByUser());
        Assert.assertEquals(receiptDate.toDateMidnight().toDate(), payment.getReceiptDate());
        Assert.assertEquals(receiptNumber, payment.getReceiptNumber());
        Assert.assertNull(payment.getCheckNumber());
        Assert.assertNull(payment.getBankName());
        Assert.assertNull(payment.getVoucherNumber());
        Assert.assertTrue(payment.isSavingsDeposit());
        Assert.assertFalse(payment.isSavingsWithdrawal());
        Assert.assertTrue(payment.isSavingsDepositOrWithdrawal());
        for (AccountTrxnEntity accountTrxn : payment.getAccountTrxns()) {
            Assert.assertEquals(client.getCustomerId(), accountTrxn.getCustomer().getCustomerId());
        }
    }
}
Also used : UserReferenceDto(org.mifos.dto.domain.UserReferenceDto) AccountTrxnEntity(org.mifos.accounts.business.AccountTrxnEntity) AccountReferenceDto(org.mifos.dto.domain.AccountReferenceDto) CustomerDto(org.mifos.dto.domain.CustomerDto) AccountPaymentEntity(org.mifos.accounts.business.AccountPaymentEntity) AccountPaymentParametersDto(org.mifos.dto.domain.AccountPaymentParametersDto) LocalDate(org.joda.time.LocalDate) BigDecimal(java.math.BigDecimal) Test(org.junit.Test)

Example 9 with UserReferenceDto

use of org.mifos.dto.domain.UserReferenceDto in project head by mifos.

the class StandardAccountServiceIntegrationTest method testValidatePaymentWithInvalidDate.

@Test
public void testValidatePaymentWithInvalidDate() throws Exception {
    String paymentAmount = "700";
    AccountPaymentParametersDto accountPaymentParametersDto = new AccountPaymentParametersDto(new UserReferenceDto(groupLoan.getPersonnel().getPersonnelId()), new AccountReferenceDto(groupLoan.getAccountId()), new BigDecimal(paymentAmount), new LocalDate(1980, 1, 1), defaultPaymentType, "");
    List<InvalidPaymentReason> errors = standardAccountService.validatePayment(accountPaymentParametersDto);
    Assert.assertTrue(errors.contains(InvalidPaymentReason.INVALID_DATE));
}
Also used : UserReferenceDto(org.mifos.dto.domain.UserReferenceDto) AccountReferenceDto(org.mifos.dto.domain.AccountReferenceDto) AccountPaymentParametersDto(org.mifos.dto.domain.AccountPaymentParametersDto) LocalDate(org.joda.time.LocalDate) BigDecimal(java.math.BigDecimal) Test(org.junit.Test)

Example 10 with UserReferenceDto

use of org.mifos.dto.domain.UserReferenceDto in project head by mifos.

the class StandardAccountServiceIntegrationTest method testValidatePaymentWithInvalidNegativePaymentAmount.

@Test
public void testValidatePaymentWithInvalidNegativePaymentAmount() throws Exception {
    String paymentAmount = "-1";
    AccountPaymentParametersDto accountPaymentParametersDto = new AccountPaymentParametersDto(new UserReferenceDto(groupLoan.getPersonnel().getPersonnelId()), new AccountReferenceDto(groupLoan.getAccountId()), new BigDecimal(paymentAmount), new LocalDate(), defaultPaymentType, "");
    List<InvalidPaymentReason> errors = standardAccountService.validatePayment(accountPaymentParametersDto);
    Assert.assertTrue(errors.contains(InvalidPaymentReason.INVALID_PAYMENT_AMOUNT));
}
Also used : UserReferenceDto(org.mifos.dto.domain.UserReferenceDto) AccountReferenceDto(org.mifos.dto.domain.AccountReferenceDto) AccountPaymentParametersDto(org.mifos.dto.domain.AccountPaymentParametersDto) LocalDate(org.joda.time.LocalDate) BigDecimal(java.math.BigDecimal) Test(org.junit.Test)

Aggregations

UserReferenceDto (org.mifos.dto.domain.UserReferenceDto)24 AccountReferenceDto (org.mifos.dto.domain.AccountReferenceDto)22 AccountPaymentParametersDto (org.mifos.dto.domain.AccountPaymentParametersDto)18 BigDecimal (java.math.BigDecimal)17 LocalDate (org.joda.time.LocalDate)15 Test (org.junit.Test)11 PaymentTypeDto (org.mifos.dto.domain.PaymentTypeDto)11 UserContext (org.mifos.security.util.UserContext)8 AccountPaymentDto (org.mifos.accounts.servicefacade.AccountPaymentDto)7 CustomerDto (org.mifos.dto.domain.CustomerDto)7 TransactionDemarcate (org.mifos.framework.util.helpers.TransactionDemarcate)7 LoanBO (org.mifos.accounts.loan.business.LoanBO)6 AccountApplyPaymentActionForm (org.mifos.accounts.struts.actionforms.AccountApplyPaymentActionForm)6 Money (org.mifos.framework.util.helpers.Money)6 CloseSession (org.mifos.framework.util.helpers.CloseSession)4 ArrayList (java.util.ArrayList)3 HashMap (java.util.HashMap)3 ActionForward (org.apache.struts.action.ActionForward)3 MifosUser (org.mifos.security.MifosUser)3 DateTime (org.joda.time.DateTime)2