Search in sources :

Example 11 with CenterUpdate

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

the class CenterHierarchyCustomerServiceIntegrationTest method updatingCenterWithDifferentLoanOfficerUpdatesAllChildrenInHierarchyIncludingTheirAssociatedLoansSavingsAndCustomerAccounts.

@Test
public void updatingCenterWithDifferentLoanOfficerUpdatesAllChildrenInHierarchyIncludingTheirAssociatedLoansSavingsAndCustomerAccounts() throws Exception {
    // setup
    String externalId = center.getExternalId();
    String mfiJoiningDate = new SimpleDateFormat("dd/MM/yyyy").format(center.getMfiJoiningDate());
    AddressDto address = null;
    if (center.getAddress() != null) {
        address = Address.toDto(center.getAddress());
    }
    List<CustomFieldDto> customFields = new ArrayList<CustomFieldDto>();
    List<CustomerPositionDto> customerPositions = new ArrayList<CustomerPositionDto>();
    String updatedDisplayName = "Center " + RandomStringUtils.randomAlphanumeric(5);
    CenterUpdate centerUpdate = new CenterUpdate(center.getCustomerId(), updatedDisplayName, center.getVersionNo(), otherLoanOfficer.getPersonnelId(), externalId, mfiJoiningDate, address, customFields, customerPositions);
    UserContext userContext = TestUtils.makeUser();
    // exercise test
    customerService.updateCenter(userContext, centerUpdate);
    StaticHibernateUtil.flushAndClearSession();
    // verification
    center = customerDao.findCenterBySystemId(center.getGlobalCustNum());
    group = customerDao.findGroupBySystemId(group.getGlobalCustNum());
    group2 = customerDao.findGroupBySystemId(group2.getGlobalCustNum());
    assertThat(center.getDisplayName(), is(updatedDisplayName));
    assertThat(center.getPersonnel().getDisplayName(), is(otherLoanOfficer.getDisplayName()));
    assertThat(group.getPersonnel().getDisplayName(), is(otherLoanOfficer.getDisplayName()));
    assertThat(group2.getPersonnel().getDisplayName(), is(otherLoanOfficer.getDisplayName()));
}
Also used : CenterUpdate(org.mifos.dto.domain.CenterUpdate) UserContext(org.mifos.security.util.UserContext) CustomFieldDto(org.mifos.dto.domain.CustomFieldDto) ArrayList(java.util.ArrayList) CustomerPositionDto(org.mifos.dto.domain.CustomerPositionDto) AddressDto(org.mifos.dto.domain.AddressDto) SimpleDateFormat(java.text.SimpleDateFormat) Test(org.junit.Test)

Example 12 with CenterUpdate

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

the class CenterUpdateUsingCustomerServiceIntegrationTest method canUpdateCenterWithDifferentMfiJoiningDateInPastOrFuture.

@Test
public void canUpdateCenterWithDifferentMfiJoiningDateInPastOrFuture() throws Exception {
    // setup
    Short loanOfficerId = center.getPersonnel().getPersonnelId();
    String externalId = center.getExternalId();
    LocalDate dateInPast = new LocalDate(center.getMfiJoiningDate()).minusWeeks(4);
    String mfiJoiningDate = new SimpleDateFormat("dd/MM/yyyy").format(dateInPast.toDateMidnight().toDate());
    AddressDto address = null;
    if (center.getAddress() != null) {
        address = Address.toDto(center.getAddress());
    }
    List<CustomFieldDto> customFields = new ArrayList<CustomFieldDto>();
    List<CustomerPositionDto> customerPositions = new ArrayList<CustomerPositionDto>();
    String updatedDisplayName = "Center " + RandomStringUtils.randomAlphanumeric(5);
    CenterUpdate centerUpdate = new CenterUpdate(center.getCustomerId(), updatedDisplayName, center.getVersionNo(), loanOfficerId, externalId, mfiJoiningDate, address, customFields, customerPositions);
    UserContext userContext = TestUtils.makeUser();
    // exercise test
    customerService.updateCenter(userContext, centerUpdate);
    // verification
    center = customerDao.findCenterBySystemId(center.getGlobalCustNum());
    assertThat(center.getMfiJoiningDate(), is(dateInPast.toDateMidnight().toDate()));
}
Also used : CenterUpdate(org.mifos.dto.domain.CenterUpdate) UserContext(org.mifos.security.util.UserContext) CustomFieldDto(org.mifos.dto.domain.CustomFieldDto) ArrayList(java.util.ArrayList) CustomerPositionDto(org.mifos.dto.domain.CustomerPositionDto) AddressDto(org.mifos.dto.domain.AddressDto) LocalDate(org.joda.time.LocalDate) SimpleDateFormat(java.text.SimpleDateFormat) Test(org.junit.Test)

Aggregations

CenterUpdate (org.mifos.dto.domain.CenterUpdate)12 Test (org.junit.Test)10 UserContext (org.mifos.security.util.UserContext)10 AddressDto (org.mifos.dto.domain.AddressDto)7 SimpleDateFormat (java.text.SimpleDateFormat)6 ArrayList (java.util.ArrayList)6 CustomFieldDto (org.mifos.dto.domain.CustomFieldDto)6 CustomerPositionDto (org.mifos.dto.domain.CustomerPositionDto)6 CenterUpdateBuilder (org.mifos.domain.builders.CenterUpdateBuilder)5 LocalDate (org.joda.time.LocalDate)2 CenterBO (org.mifos.customers.center.business.CenterBO)2 CustomerException (org.mifos.customers.exceptions.CustomerException)2 PersonnelBO (org.mifos.customers.personnel.business.PersonnelBO)2 OfficeBuilder (org.mifos.domain.builders.OfficeBuilder)2 ApplicationException (org.mifos.framework.exceptions.ApplicationException)2 Date (java.util.Date)1 MifosRuntimeException (org.mifos.core.MifosRuntimeException)1 CustomerNoteEntity (org.mifos.customers.business.CustomerNoteEntity)1 CenterCustActionForm (org.mifos.customers.center.struts.actionforms.CenterCustActionForm)1 CustomerStatusFlag (org.mifos.customers.util.helpers.CustomerStatusFlag)1