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);
}
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);
}
}
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() + "'");
}
}
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());
}
}
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());
}
}
Aggregations