Search in sources :

Example 11 with Producto

use of sic.modelo.Producto in project sic by belluccifranco.

the class FacturaServiceImplTest method shouldCalcularPrecioUnitarioWhenEsUnaCompraConFacturaX.

@Test
public void shouldCalcularPrecioUnitarioWhenEsUnaCompraConFacturaX() {
    Producto producto = new ProductoBuilder().withPrecioCosto(100).withPrecioVentaPublico(121).withImpuestoInterno_neto(0.0).withIva_porcentaje(21).build();
    double resultadoEsperado = 100;
    double resultadoObtenido = facturaService.calcularPrecioUnitario(Movimiento.COMPRA, TipoDeComprobante.FACTURA_X, producto);
    assertEquals(resultadoEsperado, resultadoObtenido, 0);
}
Also used : Producto(sic.modelo.Producto) ProductoBuilder(sic.builder.ProductoBuilder) Test(org.junit.Test)

Example 12 with Producto

use of sic.modelo.Producto in project sic by belluccifranco.

the class FacturaServiceImplTest method shouldDividirFactura.

@Test
public void shouldDividirFactura() {
    when(facturaRepository.buscarMayorNumFacturaSegunTipo(TipoDeComprobante.FACTURA_X, 1L, new EmpresaBuilder().build().getId_Empresa())).thenReturn(1L);
    when(facturaRepository.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);
}
Also used : Usuario(sic.modelo.Usuario) Producto(sic.modelo.Producto) ArrayList(java.util.ArrayList) Date(java.util.Date) ClienteBuilder(sic.builder.ClienteBuilder) FacturaVenta(sic.modelo.FacturaVenta) EmpresaBuilder(sic.builder.EmpresaBuilder) Medida(sic.modelo.Medida) TransportistaBuilder(sic.builder.TransportistaBuilder) RenglonFactura(sic.modelo.RenglonFactura) RenglonFactura(sic.modelo.RenglonFactura) Factura(sic.modelo.Factura) Test(org.junit.Test)

Example 13 with Producto

use of sic.modelo.Producto in project sic by belluccifranco.

the class FacturaServiceImplTest method shouldCalcularPrecioUnitarioWhenEsUnaVentaConFacturaA.

@Test
public void shouldCalcularPrecioUnitarioWhenEsUnaVentaConFacturaA() {
    Producto producto = new ProductoBuilder().withPrecioCosto(100).withPrecioVentaPublico(121).withImpuestoInterno_neto(0.0).withIva_porcentaje(21).build();
    double resultadoEsperado = 121;
    double resultadoObtenido = facturaService.calcularPrecioUnitario(Movimiento.VENTA, TipoDeComprobante.FACTURA_A, producto);
    assertEquals(resultadoEsperado, resultadoObtenido, 0);
}
Also used : Producto(sic.modelo.Producto) ProductoBuilder(sic.builder.ProductoBuilder) Test(org.junit.Test)

Example 14 with Producto

use of sic.modelo.Producto in project sic by belluccifranco.

the class FacturaServiceImplTest method shouldCalcularIVANetoWhenVentaConFacturaA.

@Test
public void shouldCalcularIVANetoWhenVentaConFacturaA() {
    Producto producto = new ProductoBuilder().withPrecioVentaPublico(121).withIva_porcentaje(21).build();
    double resultadoEsperado = 25.41;
    double resultadoObtenido = facturaService.calcularIVANetoRenglon(Movimiento.VENTA, TipoDeComprobante.FACTURA_A, producto, 0.0);
    assertEquals(resultadoEsperado, resultadoObtenido, 0);
}
Also used : Producto(sic.modelo.Producto) ProductoBuilder(sic.builder.ProductoBuilder) Test(org.junit.Test)

Example 15 with Producto

use of sic.modelo.Producto in project sic by belluccifranco.

the class FacturaServiceImplTest method shouldCalcularPrecioUnitarioWhenEsUnaVentaConFacturaX.

@Test
public void shouldCalcularPrecioUnitarioWhenEsUnaVentaConFacturaX() {
    Producto producto = new ProductoBuilder().withPrecioCosto(100).withPrecioVentaPublico(121).withImpuestoInterno_neto(0.0).withIva_porcentaje(21).build();
    double resultadoEsperado = 121;
    double resultadoObtenido = facturaService.calcularPrecioUnitario(Movimiento.VENTA, TipoDeComprobante.FACTURA_X, producto);
    assertEquals(resultadoEsperado, resultadoObtenido, 0);
}
Also used : Producto(sic.modelo.Producto) ProductoBuilder(sic.builder.ProductoBuilder) Test(org.junit.Test)

Aggregations

Producto (sic.modelo.Producto)26 Test (org.junit.Test)16 ProductoBuilder (sic.builder.ProductoBuilder)16 RenglonFactura (sic.modelo.RenglonFactura)7 ArrayList (java.util.ArrayList)5 Date (java.util.Date)5 ResourceAccessException (org.springframework.web.client.ResourceAccessException)5 RestClientResponseException (org.springframework.web.client.RestClientResponseException)5 Medida (sic.modelo.Medida)4 ClienteBuilder (sic.builder.ClienteBuilder)3 EmpresaBuilder (sic.builder.EmpresaBuilder)3 TransportistaBuilder (sic.builder.TransportistaBuilder)3 Factura (sic.modelo.Factura)3 FacturaVenta (sic.modelo.FacturaVenta)3 Proveedor (sic.modelo.Proveedor)3 Rubro (sic.modelo.Rubro)3 Usuario (sic.modelo.Usuario)3 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)2 Transactional (org.springframework.transaction.annotation.Transactional)2 CondicionIVABuilder (sic.builder.CondicionIVABuilder)2