Exemplo n.º 1
0
    def setUp(self):
        from productos.factories import ProductoFactory
        from terceros.factories import ProveedorFactory
        from ..factories import BodegaFactory
        from usuarios.factories import UserFactory
        from ..services import (movimiento_inventario_saldo_inicial_crear,
                                movimiento_inventario_detalle_entrada_add_item,
                                movimiento_inventario_aplicar_movimiento,
                                movimiento_inventario_venta_crear,
                                movimiento_inventario_detalle_salida_add_item)
        self.user = UserFactory()
        self.bodega = BodegaFactory()
        self.usuario = UserFactory()
        self.proveedor = ProveedorFactory()

        self.movimiento_compra = movimiento_inventario_saldo_inicial_crear(
            bodega_destino_id=self.bodega.id,
            usuario_id=self.usuario.id,
            fecha=timezone.now())

        self.producto_uno = ProductoFactory()
        self.producto_dos = ProductoFactory()
        self.producto_tres = ProductoFactory()

        self.mv_uno_detalle_uno = movimiento_inventario_detalle_entrada_add_item(
            movimiento_id=self.movimiento_compra.id,
            producto_id=self.producto_uno.id,
            cantidad=20,
            costo_total=10000)
        self.mv_uno_detalle_dos = movimiento_inventario_detalle_entrada_add_item(
            movimiento_id=self.movimiento_compra.id,
            producto_id=self.producto_dos.id,
            cantidad=20,
            costo_total=40000)
        self.movimiento_compra = movimiento_inventario_aplicar_movimiento(
            movimiento_inventario_id=self.movimiento_compra.id)

        self.movimiento_venta = movimiento_inventario_venta_crear(
            bodega_origen_id=self.bodega.id, usuario_id=self.usuario.id)

        self.mv_venta_uno_uno = movimiento_inventario_detalle_salida_add_item(
            movimiento_id=self.movimiento_venta.id,
            producto_id=self.producto_uno.id,
            cantidad=5)

        self.mv_venta_uno_dos = movimiento_inventario_detalle_salida_add_item(
            movimiento_id=self.movimiento_venta.id,
            producto_id=self.producto_dos.id,
            cantidad=5)

        self.movimiento_venta = movimiento_inventario_aplicar_movimiento(
            movimiento_inventario_id=self.movimiento_venta.id)

        self.movimiento_compra.refresh_from_db()
Exemplo n.º 2
0
    def setUp(self):
        from ..factories import ColaboradorFactory
        from usuarios.factories import UserFactory
        from ..services import colaborador_crear
        self.usuario = UserFactory()

        self.tercero_base = ColaboradorFactory.build(usuario=None)
        self.tercero_base.pop('es_colaborador')
        self.tercero_base.pop('usuario')
        self.colaborador = colaborador_crear(self.tercero_base)
Exemplo n.º 3
0
    def setUp(self):
        self.superuser = UserFactory(username='******', is_superuser=True)
        self.superuser.set_password('admin')
        self.superuser.save()
        self.token_admin = AuthToken.objects.create(self.superuser)

        self.user = UserFactory(username='******', is_superuser=False)
        self.user.set_password('otro')
        self.user.save()
        self.token_user = AuthToken.objects.create(self.user)

        self.url = ''

        self.Factory = None
        self.permiso = None
        self.instancia = None
        self.modelo = None
        self.data_for_create_test = None
        self.data_for_update_test = None
Exemplo n.º 4
0
 def setUp(self):
     from ..factories import MovimientoInventarioFactory, BodegaFactory
     from usuarios.factories import UserFactory
     from terceros.factories import ProveedorFactory
     from ..models import MovimientoInventario
     super().setUp()
     self.Factory = MovimientoInventarioFactory
     self.url = '/api/movimiento_inventario/'
     self.permiso = 'movimientoinventario'
     self.modelo = MovimientoInventario
     bodega = BodegaFactory()
     creado_por = UserFactory()
     proveedor = ProveedorFactory()
     self.data_for_create_test = self.Factory.stub(motivo='compra').__dict__
     self.data_for_create_test['creado_por'] = creado_por.id
     self.data_for_create_test['proveedor'] = proveedor.id
     self.data_for_create_test['bodega'] = bodega.id
     self.data_for_update_test = {'entra_cantidad': 15}
Exemplo n.º 5
0
    def setUp(self):
        from terceros_acompanantes.factories import CategoriaAcompananteFactory
        from ..factories import AcompananteFactory
        from usuarios.factories import UserFactory
        from ..services import acompanante_crear
        self.usuario = UserFactory()
        self.categoria_modelo = CategoriaAcompananteFactory()

        self.tercero_base = AcompananteFactory.build(
            usuario=None, categoria_modelo=self.categoria_modelo)
        self.tercero_base.pop('es_acompanante')
        self.tercero_base.pop('usuario')

        self.acompanante = acompanante_crear(self.tercero_base)

        self.categoria_modelo_dos = CategoriaAcompananteFactory()
        self.tercero_base_dos = AcompananteFactory.build(
            usuario=None, categoria_modelo=self.categoria_modelo_dos)
        self.tercero_base_dos.pop('es_acompanante')
        self.tercero_base_dos.pop('usuario')
        self.acompanante_dos = acompanante_crear(self.tercero_base_dos)
Exemplo n.º 6
0
 def setUp(self):
     self.usuario = UserFactory()
     self.categoria_modelo = CategoriaAcompananteFactory()
Exemplo n.º 7
0
    def setUp(self):
        from productos.factories import ProductoFactory
        from terceros.factories import ProveedorFactory
        from ..factories import BodegaFactory
        from usuarios.factories import UserFactory
        from ..services import (movimiento_inventario_saldo_inicial_crear,
                                movimiento_inventario_compra_crear,
                                movimiento_inventario_detalle_entrada_add_item)
        self.user = UserFactory()
        self.bodega_destino = BodegaFactory()
        self.usuario = UserFactory()
        self.proveedor = ProveedorFactory()

        self.movimiento_saldo_inicial = movimiento_inventario_saldo_inicial_crear(
            bodega_destino_id=self.bodega_destino.id,
            usuario_id=self.usuario.id,
            fecha=timezone.now())

        self.movimiento_compra_dos = movimiento_inventario_compra_crear(
            bodega_destino_id=self.bodega_destino.id,
            usuario_id=self.usuario.id,
            proveedor_id=self.proveedor.id,
            fecha=timezone.now())

        self.movimiento_compra_tres = movimiento_inventario_compra_crear(
            bodega_destino_id=self.bodega_destino.id,
            usuario_id=self.usuario.id,
            proveedor_id=self.proveedor.id,
            fecha=timezone.now())

        self.producto_uno = ProductoFactory()
        self.producto_dos = ProductoFactory()
        self.producto_tres = ProductoFactory()

        self.mv_uno_detalle_uno = movimiento_inventario_detalle_entrada_add_item(
            movimiento_id=self.movimiento_saldo_inicial.id,
            producto_id=self.producto_uno.id,
            cantidad=20,
            costo_total=10000)
        self.mv_uno_detalle_dos = movimiento_inventario_detalle_entrada_add_item(
            movimiento_id=self.movimiento_saldo_inicial.id,
            producto_id=self.producto_dos.id,
            cantidad=20,
            costo_total=40000)

        self.mv_dos_detalle_uno = movimiento_inventario_detalle_entrada_add_item(
            movimiento_id=self.movimiento_compra_dos.id,
            producto_id=self.producto_uno.id,
            cantidad=10,
            costo_total=6000)
        self.mv_dos_detalle_dos = movimiento_inventario_detalle_entrada_add_item(
            movimiento_id=self.movimiento_compra_dos.id,
            producto_id=self.producto_dos.id,
            cantidad=10,
            costo_total=22000)

        self.mv_tres_detalle_tres = movimiento_inventario_detalle_entrada_add_item(
            movimiento_id=self.movimiento_compra_tres.id,
            producto_id=self.producto_tres.id,
            cantidad=15,
            costo_total=25000)
Exemplo n.º 8
0
    def setUp(self):
        from productos.factories import ProductoFactory
        from usuarios.factories import UserFactory
        from ..services import (movimiento_inventario_detalle_entrada_add_item,
                                movimiento_inventario_saldo_inicial_crear,
                                movimiento_inventario_aplicar_movimiento)
        from ..factories import TrasladoFactory, BodegaFactory
        from terceros.factories import ColaboradorFactory
        from terceros.services import (tercero_set_new_pin,
                                       tercero_registra_entrada)
        from puntos_venta.services import punto_venta_abrir
        from puntos_venta.factories import PuntoVentaFactory

        # Primer colaborador presente
        self.punto_venta_abierto = PuntoVentaFactory(usuario_actual=None,
                                                     abierto=False)
        self.colaborador_presente = ColaboradorFactory()
        tercero_set_new_pin(tercero_id=self.colaborador_presente.id,
                            raw_pin='0000')
        tercero_registra_entrada(self.colaborador_presente.id, raw_pin='0000')
        self.colaborador_presente.usuario.set_password('otro')
        self.colaborador_presente.usuario.save()
        punto_venta_abrir(usuario_pv_id=self.colaborador_presente.usuario.id,
                          punto_venta_id=self.punto_venta_abierto.id,
                          base_inicial_efectivo=0)
        self.punto_venta_abierto.refresh_from_db()
        self.bodega_punto_venta_abierto = self.punto_venta_abierto.bodega
        self.bodega_punto_venta_abierto.es_principal = False
        self.bodega_punto_venta_abierto.save()
        self.colaborador_presente.refresh_from_db()

        # Segundo colaborador presente
        self.punto_venta_abierto_dos = PuntoVentaFactory(usuario_actual=None,
                                                         abierto=False)
        self.colaborador_presente_dos = ColaboradorFactory()
        tercero_set_new_pin(tercero_id=self.colaborador_presente_dos.id,
                            raw_pin='0000')
        tercero_registra_entrada(self.colaborador_presente_dos.id,
                                 raw_pin='0000')
        self.colaborador_presente_dos.usuario.set_password('otro')
        self.colaborador_presente_dos.usuario.save()
        punto_venta_abrir(
            usuario_pv_id=self.colaborador_presente_dos.usuario.id,
            punto_venta_id=self.punto_venta_abierto_dos.id,
            base_inicial_efectivo=0)
        self.punto_venta_abierto_dos.refresh_from_db()
        self.bodega_punto_venta_abierto_dos = self.punto_venta_abierto_dos.bodega
        self.bodega_punto_venta_abierto_dos.es_principal = False
        self.bodega_punto_venta_abierto_dos.save()
        self.colaborador_presente_dos.refresh_from_db()

        # Colaborador no presente
        self.colaborador_no_presente = ColaboradorFactory()

        self.usuario = UserFactory()

        self.traslado = TrasladoFactory()

        self.producto_uno = ProductoFactory()
        self.producto_dos = ProductoFactory()
        self.producto_tres = ProductoFactory()
        self.producto_cuatro = ProductoFactory()

        self.bodega_inventario = BodegaFactory(es_principal=True)
        self.bodega_destino = BodegaFactory(es_principal=False)

        self.movimiento_saldo_inicial = movimiento_inventario_saldo_inicial_crear(
            bodega_destino_id=self.bodega_inventario.id,
            usuario_id=self.usuario.id,
            fecha=timezone.now())

        self.mv_uno_detalle_uno = movimiento_inventario_detalle_entrada_add_item(
            movimiento_id=self.movimiento_saldo_inicial.id,
            producto_id=self.producto_uno.id,
            cantidad=20,
            costo_total=10000)
        self.mv_uno_detalle_dos = movimiento_inventario_detalle_entrada_add_item(
            movimiento_id=self.movimiento_saldo_inicial.id,
            producto_id=self.producto_dos.id,
            cantidad=30,
            costo_total=40000)
        self.mv_uno_detalle_tres = movimiento_inventario_detalle_entrada_add_item(
            movimiento_id=self.movimiento_saldo_inicial.id,
            producto_id=self.producto_tres.id,
            cantidad=40,
            costo_total=90000)
        movimiento_inventario_aplicar_movimiento(
            self.movimiento_saldo_inicial.id)
Exemplo n.º 9
0
 def usuariosSetUp(self):
     from usuarios.factories import UserFactory
     self.usuario_sin_tercero = UserFactory()
Exemplo n.º 10
0
 def setUp(self):
     self.bodega = BodegaFactory()
     self.usuario_actual = UserFactory()