Search in sources :

Example 1 with BillDAO

use of com.autentia.tnt.dao.hibernate.BillDAO in project TNTConcept by autentia.

the class BillAndBillPaymentTest method insertInitialData.

/**
 * Metodo encargado de insertar datos muy generales pero que son necesarios
 * en la gestion de facturas
 */
private void insertInitialData() {
    final BillDAO billDAO = (BillDAO) SpringUtilsForTesting.getSpringBean("daoBill");
    final ProjectDAO projectDAO = (ProjectDAO) SpringUtilsForTesting.getSpringBean("daoProject");
    final Project project = new Project();
    projectDAO.insert(project);
    bill = new Bill();
    bill.setCreationDate(new Date());
    bill.setState(BillState.EMITTED);
    bill.setNumber("200901");
    bill.setName("Factura por servicios");
    bill.setProject(project);
    bill.setStartBillDate(new Date());
    bill.setEndBillDate(new Date());
    bill.setState(BillState.EMITTED);
    bill.setOrderNumber("12");
    billDAO.insert(bill);
}
Also used : Project(com.autentia.tnt.businessobject.Project) BillDAO(com.autentia.tnt.dao.hibernate.BillDAO) Bill(com.autentia.tnt.businessobject.Bill) Date(java.util.Date) ProjectDAO(com.autentia.tnt.dao.hibernate.ProjectDAO)

Example 2 with BillDAO

use of com.autentia.tnt.dao.hibernate.BillDAO in project TNTConcept by autentia.

the class BillAndBillPaymentTest method testLastPayment.

/**
 * Inserción de tres pagos para comprobar que la factura vence el dia que vence el ultimo pago
 * o cobro
 */
@Test
public void testLastPayment() {
    final BillDAO billDAO = (BillDAO) SpringUtilsForTesting.getSpringBean("daoBill");
    insertInitialData();
    // se crean 3 fechas para los pagos, el 1 de enero, el 1 de julio y el 31 de diciembre de 2000
    final Calendar _2000enero01 = Calendar.getInstance();
    _2000enero01.set(2000, Calendar.JANUARY, 1);
    final Calendar _2000julio01 = Calendar.getInstance();
    _2000julio01.set(2000, Calendar.JULY, 1);
    final Calendar _2000diciembre31 = Calendar.getInstance();
    _2000diciembre31.set(2000, Calendar.DECEMBER, 31);
    // se crean 3 pagos y se les ponen fechas
    final BillPayment firstPayment = new BillPayment();
    firstPayment.setAmount(new BigDecimal(1000));
    firstPayment.setExpirationDate(_2000julio01.getTime());
    firstPayment.setBill(bill);
    bill.getBillPayment().add(firstPayment);
    final BillPayment secondPayment = new BillPayment();
    secondPayment.setAmount(new BigDecimal(1000));
    secondPayment.setExpirationDate(_2000diciembre31.getTime());
    secondPayment.setBill(bill);
    bill.getBillPayment().add(secondPayment);
    final BillPayment thirdPayment = new BillPayment();
    thirdPayment.setAmount(new BigDecimal(1000));
    thirdPayment.setExpirationDate(_2000enero01.getTime());
    thirdPayment.setBill(bill);
    bill.getBillPayment().add(thirdPayment);
    // se fuerza el guardado en base de datos de los pagos ya que el calculo del ultimo plazo
    // se realiza mediante un mapeo de tipo formula
    sessionFactory.getCurrentSession().getTransaction().commit();
    sessionFactory.getCurrentSession().beginTransaction();
    // se recupera la factura y con ello se recalcula el campo de tipo formula
    bill = billDAO.loadById(bill.getId());
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    String fechaFactura = sdf.format(bill.getExpiration());
    String fecha31Diciembre = sdf.format(_2000diciembre31.getTime());
    if (!fechaFactura.equals(fecha31Diciembre)) {
        fail("la factura deberia finalizar el " + fecha31Diciembre + " en vez de el " + fechaFactura);
    }
}
Also used : BillDAO(com.autentia.tnt.dao.hibernate.BillDAO) Calendar(java.util.Calendar) BillPayment(com.autentia.tnt.businessobject.BillPayment) SimpleDateFormat(java.text.SimpleDateFormat) BigDecimal(java.math.BigDecimal) Test(org.junit.Test)

Example 3 with BillDAO

use of com.autentia.tnt.dao.hibernate.BillDAO in project TNTConcept by autentia.

the class FromOfferToBillTest method testConversionWithOfferAndRolesCosts.

/**
 * Comprobacion de que se haga la conversion guardando con todo tipo de costes
 */
@Test
public void testConversionWithOfferAndRolesCosts() {
    final BillManager billManager = (BillManager) SpringUtilsForTesting.getSpringBean("managerBill");
    final BillDAO billDAO = (BillDAO) SpringUtilsForTesting.getSpringBean("daoBill");
    insertInitialData();
    insertOfferCosts();
    insertOfferRoles();
    Bill bill = billManager.convertFromOfferToBill(offer);
    // esto deberia hacerlo el usuario a traves de la página
    bill = insertDataByUserInWeb(bill);
    billDAO.insert(bill);
    if (bill.getTotal().floatValue() != 7018) {
        fail("el total de la factura deberia ser de '7018', pero ha recuperado '" + bill.getTotal() + "'");
    }
}
Also used : BillManager(com.autentia.tnt.manager.billing.BillManager) BillDAO(com.autentia.tnt.dao.hibernate.BillDAO) Bill(com.autentia.tnt.businessobject.Bill) Test(org.junit.Test)

Example 4 with BillDAO

use of com.autentia.tnt.dao.hibernate.BillDAO in project TNTConcept by autentia.

the class BillAndBillPaymentTest method testCreateBillWithOnlyOnePayment.

/**
 * Inserción de sólo un pago
 */
@Test
public void testCreateBillWithOnlyOnePayment() {
    final BillDAO billDAO = (BillDAO) SpringUtilsForTesting.getSpringBean("daoBill");
    insertInitialData();
    final BillPayment payment = new BillPayment();
    payment.setAmount(new BigDecimal(1000));
    payment.setExpirationDate(new Date());
    payment.setBill(bill);
    bill.getBillPayment().add(payment);
    billDAO.update(bill);
    if (bill.getBillPayment().size() != 1) {
        fail("la factura deberia tener 1 pago, pero tiene " + bill.getBillPayment().size());
    }
}
Also used : BillDAO(com.autentia.tnt.dao.hibernate.BillDAO) BillPayment(com.autentia.tnt.businessobject.BillPayment) BigDecimal(java.math.BigDecimal) Date(java.util.Date) Test(org.junit.Test)

Example 5 with BillDAO

use of com.autentia.tnt.dao.hibernate.BillDAO in project TNTConcept by autentia.

the class BillTest method testBillNameLength.

@Test
public void testBillNameLength() {
    final BillDAO billDAO = (BillDAO) SpringUtilsForTesting.getSpringBean("daoBill");
    insertInitialData();
    bill.setName(VERY_LARGE_TEXT);
    billDAO.update(bill);
    if (!bill.getName().equals(MAX_TEXT)) {
        fail("el nombre deberia tener una longitud de " + Bill.MAX_LENGTH + " caracteres, pero tiene " + bill.getName().length());
    }
}
Also used : BillDAO(com.autentia.tnt.dao.hibernate.BillDAO) Test(org.junit.Test)

Aggregations

BillDAO (com.autentia.tnt.dao.hibernate.BillDAO)10 Test (org.junit.Test)8 Bill (com.autentia.tnt.businessobject.Bill)5 BillManager (com.autentia.tnt.manager.billing.BillManager)4 BigDecimal (java.math.BigDecimal)3 Date (java.util.Date)3 BillPayment (com.autentia.tnt.businessobject.BillPayment)2 ProjectDAO (com.autentia.tnt.dao.hibernate.ProjectDAO)2 Project (com.autentia.tnt.businessobject.Project)1 SimpleDateFormat (java.text.SimpleDateFormat)1 Calendar (java.util.Calendar)1