use of org.mifos.domain.builders.PersonnelBuilder in project head by mifos.
the class SavingsCloseTest method whenClosingAccountShouldPostInterestWhenRemainingSavingsBalanceIsLessThanAmountBeingWithdrawn.
@Test
public void whenClosingAccountShouldPostInterestWhenRemainingSavingsBalanceIsLessThanAmountBeingWithdrawn() {
Money remainingBalance = TestUtils.createMoney("100");
savingsAccount = new SavingsAccountBuilder().active().withSavingsProduct(savingsProduct).withCustomer(client).withBalanceOf(remainingBalance).build();
Money withdrawalAtCloseAmount = TestUtils.createMoney("105.56");
AccountPaymentEntity payment = new AccountPaymentEntityBuilder().with(savingsAccount).with(withdrawalAtCloseAmount).build();
AccountNotesEntity notes = new AccountNotesEntityBuilder().build();
CustomerBO customer = new ClientBuilder().buildForUnitTests();
PersonnelBO loggedInUser = new PersonnelBuilder().build();
// pre verification
assertTrue(savingsAccount.getAccountPayments().isEmpty());
// exercise test
savingsAccount.closeAccount(payment, notes, customer, loggedInUser);
// verification
assertFalse(savingsAccount.getAccountPayments().isEmpty());
assertThat(savingsAccount.getAccountPayments().size(), is(2));
AccountPaymentEntity interestPayment = savingsAccount.getAccountPayments().get(0);
assertThat(interestPayment.getAmount(), is(TestUtils.createMoney("5.56")));
AccountPaymentEntity withdrawalPayment = savingsAccount.getAccountPayments().get(1);
assertThat(withdrawalPayment.getAmount(), is(TestUtils.createMoney("105.56")));
}
use of org.mifos.domain.builders.PersonnelBuilder in project head by mifos.
the class SavingsCloseTest method whenClosingAccountShouldCreateStatusChangeHistoryForClosure.
@Test
public void whenClosingAccountShouldCreateStatusChangeHistoryForClosure() {
Money remainingBalance = TestUtils.createMoney("100");
savingsAccount = new SavingsAccountBuilder().active().withSavingsProduct(savingsProduct).withCustomer(client).withBalanceOf(remainingBalance).build();
AccountPaymentEntity payment = new AccountPaymentEntityBuilder().with(savingsAccount).with(remainingBalance).build();
AccountNotesEntity notes = new AccountNotesEntityBuilder().build();
CustomerBO customer = new ClientBuilder().buildForUnitTests();
PersonnelBO loggedInUser = new PersonnelBuilder().build();
// pre verification
assertThat(savingsAccount.getAccountStatusChangeHistory().size(), is(1));
// exercise test
savingsAccount.closeAccount(payment, notes, customer, loggedInUser);
// verification
assertThat(savingsAccount.getAccountStatusChangeHistory().size(), is(2));
AccountStatusChangeHistoryEntity closure = savingsAccount.getAccountStatusChangeHistory().get(1);
assertThat(closure.getAccount(), is((AccountBO) savingsAccount));
assertTrue(closure.getOldStatus().isInState(AccountState.SAVINGS_ACTIVE));
assertTrue(closure.getNewStatus().isInState(AccountState.SAVINGS_CLOSED));
}
use of org.mifos.domain.builders.PersonnelBuilder in project head by mifos.
the class SavingsAdjustmentTest method accountBalanceIsUpdatedWhenLastDepositIsAdjusted.
@Test
public void accountBalanceIsUpdatedWhenLastDepositIsAdjusted() {
savingsAccount = new SavingsAccountBuilder().active().withSavingsProduct(savingsProduct).withCustomer(client).withBalanceOf(TestUtils.createMoney("0")).withDepositOf("15").build();
Money amountAdjustedTo = TestUtils.createMoney("25");
String adjustmentNote = "testAdjustment";
PersonnelBO updatedBy = new PersonnelBuilder().build();
// pre verification
assertThat(savingsAccount.getSavingsBalance(), is(TestUtils.createMoney(15)));
// exercise test
savingsAccount.adjustLastUserAction(amountAdjustedTo, adjustmentNote, updatedBy);
// verification
assertThat(savingsAccount.getSavingsBalance(), is(TestUtils.createMoney(25)));
}
use of org.mifos.domain.builders.PersonnelBuilder in project head by mifos.
the class SavingsAdjustmentTest method accountBalanceIsUpdatedWhenLastWithdrawalIsAdjusted.
@Test
public void accountBalanceIsUpdatedWhenLastWithdrawalIsAdjusted() {
savingsAccount = new SavingsAccountBuilder().active().withSavingsProduct(savingsProduct).withCustomer(client).withBalanceOf(TestUtils.createMoney("100")).withWithdrawalOf("15").build();
Money amountAdjustedTo = TestUtils.createMoney("25");
String adjustmentNote = "testAdjustment";
PersonnelBO updatedBy = new PersonnelBuilder().build();
// pre verification
assertThat(savingsAccount.getSavingsBalance(), is(TestUtils.createMoney(85)));
// exercise test
savingsAccount.adjustLastUserAction(amountAdjustedTo, adjustmentNote, updatedBy);
// verification
assertThat(savingsAccount.getSavingsBalance(), is(TestUtils.createMoney(75)));
}
use of org.mifos.domain.builders.PersonnelBuilder in project head by mifos.
the class SavingsAdjustmentTest method savingsPerformanceDetailsAreUpdatedWhenLastDepositIsAdjusted.
@Test
public void savingsPerformanceDetailsAreUpdatedWhenLastDepositIsAdjusted() {
savingsAccount = new SavingsAccountBuilder().active().withSavingsProduct(savingsProduct).withCustomer(client).withBalanceOf(TestUtils.createMoney("0")).withDepositOf("15").build();
Money amountAdjustedTo = TestUtils.createMoney("25");
String adjustmentNote = "testAdjustment";
PersonnelBO updatedBy = new PersonnelBuilder().build();
// pre verification
assertThat(savingsAccount.getSavingsPerformance().getTotalDeposits(), is(TestUtils.createMoney(15)));
// exercise test
savingsAccount.adjustLastUserAction(amountAdjustedTo, adjustmentNote, updatedBy);
// verification
assertThat(savingsAccount.getSavingsPerformance().getTotalDeposits(), is(TestUtils.createMoney(25)));
}
Aggregations