use of sic.builder.ClienteBuilder in project sic by belluccifranco.
the class FacturaServiceImplTest method shouldDividirFactura.
@Test
public void shouldDividirFactura() {
when(facturaVentaRepository.buscarMayorNumFacturaSegunTipo(TipoDeComprobante.FACTURA_X, 1L, new EmpresaBuilder().build().getId_Empresa())).thenReturn(1L);
when(facturaVentaRepository.buscarMayorNumFacturaSegunTipo(TipoDeComprobante.FACTURA_A, 1L, new EmpresaBuilder().build().getId_Empresa())).thenReturn(1L);
RenglonFactura renglon1 = Mockito.mock(RenglonFactura.class);
RenglonFactura renglon2 = Mockito.mock(RenglonFactura.class);
Producto producto = Mockito.mock(Producto.class);
when(producto.getId_Producto()).thenReturn(1L);
when(producto.getCodigo()).thenReturn("1");
when(producto.getDescripcion()).thenReturn("producto test");
Medida medida = Mockito.mock(Medida.class);
when(producto.getMedida()).thenReturn(medida);
when(producto.getPrecioVentaPublico()).thenReturn(1.0);
when(producto.getIva_porcentaje()).thenReturn(21.00);
when(producto.getImpuestoInterno_porcentaje()).thenReturn(0.0);
when(producto.getPrecioLista()).thenReturn(1.0);
when(productoService.getProductoPorId(1L)).thenReturn(producto);
when(renglon1.getId_ProductoItem()).thenReturn(1L);
when(renglon2.getId_ProductoItem()).thenReturn(1L);
when(renglon1.getCantidad()).thenReturn(4.00);
when(renglon2.getCantidad()).thenReturn(7.00);
List<RenglonFactura> renglones = new ArrayList<>();
renglones.add(renglon1);
renglones.add(renglon2);
FacturaVenta factura = new FacturaVenta();
factura.setRenglones(renglones);
factura.setFecha(new Date());
factura.setTransportista(new TransportistaBuilder().build());
factura.setEmpresa(new EmpresaBuilder().build());
factura.setCliente(new ClienteBuilder().build());
Usuario usuario = new Usuario();
usuario.setNombre("Marian Jhons help");
factura.setUsuario(usuario);
factura.setTipoComprobante(TipoDeComprobante.FACTURA_A);
int[] indices = { 0, 1 };
int cantidadDeFacturasEsperadas = 2;
List<Factura> result = facturaService.dividirFactura(factura, indices);
double cantidadRenglon1PrimeraFactura = result.get(0).getRenglones().get(0).getCantidad();
double cantidadRenglon2PrimeraFactura = result.get(0).getRenglones().get(1).getCantidad();
double cantidadRenglon1SegundaFactura = result.get(1).getRenglones().get(0).getCantidad();
double cantidadRenglon2SegundaFactura = result.get(1).getRenglones().get(1).getCantidad();
assertEquals(cantidadDeFacturasEsperadas, result.size());
assertEquals(2, cantidadRenglon1SegundaFactura, 0);
assertEquals(4, cantidadRenglon2SegundaFactura, 0);
assertEquals(2, cantidadRenglon1PrimeraFactura, 0);
assertEquals(3, cantidadRenglon2PrimeraFactura, 0);
}
Aggregations