package org.mifos.accounts.fees.business; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import junit.framework.Assert; import org.junit.Test; import org.mifos.accounts.fees.exceptions.FeeException; import org.mifos.accounts.fees.util.helpers.FeeCategory; import org.mifos.accounts.fees.util.helpers.FeeFrequencyType; import org.mifos.accounts.fees.util.helpers.FeePayment; import org.mifos.customers.office.persistence.OfficePersistence; import org.mifos.framework.exceptions.PersistenceException; import org.springframework.test.annotation.ExpectedException; public class FeeBOTest { @Test @ExpectedException(value = FeeException.class) public void testInvalidConnectionThrowsExceptionInConstructor() throws PersistenceException{ final OfficePersistence officePersistence = mock(OfficePersistence.class); try { when(officePersistence.getHeadOffice()).thenThrow(new PersistenceException("some exception")); new RateFeeBO(null, "Customer Fee", new CategoryTypeEntity(FeeCategory.CENTER), new FeeFrequencyTypeEntity( FeeFrequencyType.ONETIME), null, 2.0, null, false, new FeePaymentEntity(FeePayment.UPFRONT)){ @Override public OfficePersistence getOfficePersistence() { return officePersistence; } }; Assert.fail("should fail because of invalid session"); } catch (FeeException e) { } } }