コード例 #1
0
    def setUp(self):
        from terceros.factories import AcompananteFactory, ColaboradorFactory, ProveedorFactory
        from puntos_venta.factories import PuntoVentaFactory
        from puntos_venta.services import punto_venta_abrir
        from terceros.services import (tercero_set_new_pin,
                                       tercero_registra_entrada)

        self.punto_venta = PuntoVentaFactory(abierto=False,
                                             usuario_actual=None)
        self.colaborador_pdv = ColaboradorFactory()
        tercero_set_new_pin(self.colaborador_pdv.id, '0000')
        tercero_registra_entrada(self.colaborador_pdv.id, '0000')
        punto_venta_abrir(usuario_pv_id=self.colaborador_pdv.usuario.id,
                          punto_venta_id=self.punto_venta.id,
                          base_inicial_efectivo=0)

        self.colaborador = ColaboradorFactory()
        tercero_set_new_pin(self.colaborador.id, '0000')
        tercero_registra_entrada(self.colaborador.id, '0000')

        self.acompanante = AcompananteFactory()
        tercero_set_new_pin(self.acompanante.id, '0000')
        tercero_registra_entrada(self.acompanante.id, '0000')

        self.proveedor = ProveedorFactory()
コード例 #2
0
    def setUp(self):
        from ..factories import OperacionCajaFactory, ConceptoOperacionCajaFactory
        from terceros.factories import ColaboradorFactory
        from puntos_venta.factories import PuntoVentaFactory
        from terceros.services import tercero_registra_entrada, tercero_set_new_pin
        from puntos_venta.services import punto_venta_abrir
        super().setUp()
        self.Factory = OperacionCajaFactory
        self.url = '/api/operaciones_caja/'
        self.permiso = 'operacioncaja'
        self.modelo = OperacionCaja
        self.data_for_create_test = self.Factory.stub().__dict__
        self.colaborador = ColaboradorFactory(usuario=self.user)
        tercero_set_new_pin(self.colaborador.id, '0000')
        tercero_registra_entrada(self.colaborador.id, '0000')
        self.punto_venta = PuntoVentaFactory(abierto=False,
                                             usuario_actual=None)
        punto_venta_abrir(base_inicial_efectivo=0,
                          usuario_pv_id=self.colaborador.usuario.id,
                          punto_venta_id=self.punto_venta.id)

        self.concepto = ConceptoOperacionCajaFactory(tipo='I',
                                                     grupo='C',
                                                     tipo_cuenta='CXC')
        self.data_for_create_test['tercero'] = self.colaborador.id
        self.data_for_create_test['concepto'] = self.concepto.id
        self.data_for_create_test.pop('cuenta')
        self.data_for_update_test = {'observacion': 'probando'}
コード例 #3
0
    def setUp(self):
        from terceros.factories import ColaboradorFactory
        from puntos_venta.factories import PuntoVentaFactory
        from terceros.services import tercero_registra_entrada, tercero_set_new_pin
        from puntos_venta.services import punto_venta_abrir, punto_venta_cerrar
        super().setUp()
        self.url = '/api/arqueos_cajas/'
        self.permiso = 'arqueocaja'
        self.modelo = ArqueoCaja
        self.colaborador = ColaboradorFactory(usuario=self.superuser)
        tercero_set_new_pin(self.colaborador.id, '0000')
        tercero_registra_entrada(self.colaborador.id, '0000')
        self.punto_venta = PuntoVentaFactory(abierto=False,
                                             usuario_actual=None)
        punto_venta_abrir(base_inicial_efectivo=0,
                          usuario_pv_id=self.colaborador.usuario.id,
                          punto_venta_id=self.punto_venta.id)

        punto_venta_cerrar(usuario_pv_id=self.colaborador.usuario.id,
                           entrega_efectivo_dict={},
                           operaciones_caja_dict={},
                           entrega_base_dict={},
                           valor_tarjeta=0,
                           nro_vauchers=0,
                           valor_dolares=0,
                           tasa_dolar=0)

        punto_venta_abrir(base_inicial_efectivo=0,
                          usuario_pv_id=self.colaborador.usuario.id,
                          punto_venta_id=self.punto_venta.id)
        self.punto_venta, self.arqueo = punto_venta_cerrar(
            usuario_pv_id=self.colaborador.usuario.id,
            entrega_efectivo_dict={},
            operaciones_caja_dict={},
            entrega_base_dict={},
            valor_tarjeta=200000,
            nro_vauchers=1,
            valor_dolares=0,
            tasa_dolar=0)
コード例 #4
0
ファイル: test_services.py プロジェクト: fagsoft1/dr_amor_app
    def setUp(self):
        from puntos_venta.factories import PuntoVentaFactory
        from puntos_venta.services import punto_venta_abrir
        from terceros.factories import ColaboradorFactory
        from ..factories import TipoVehiculoFactory, ModalidadFraccionTiempoFactory, VehiculoFactory
        self.punto_venta = PuntoVentaFactory(usuario_actual=None,
                                             abierto=False)
        colaborador = ColaboradorFactory(presente=True)
        punto_venta, self.punto_venta_turno = punto_venta_abrir(
            usuario_pv_id=colaborador.usuario.id,
            punto_venta_id=self.punto_venta.id,
            base_inicial_efectivo=0)

        tipo_vehiculo_sin_placa = TipoVehiculoFactory(tiene_placa=False)
        self.vehiculo = VehiculoFactory()
        self.modalidad_fraccion_tiempo_sin_placa = ModalidadFraccionTiempoFactory(
            tipo_vehiculo=tipo_vehiculo_sin_placa)

        tipo_vehiculo_con_placa = TipoVehiculoFactory(tiene_placa=True)
        self.modalidad_fraccion_tiempo_con_placa = ModalidadFraccionTiempoFactory(
            tipo_vehiculo=tipo_vehiculo_con_placa)
コード例 #5
0
ファイル: test_services.py プロジェクト: fagsoft1/dr_amor_app
    def test_tercero_registra_salida_modelo_solo_sin_servicios_pendientes(
            self):
        from ..services import tercero_registra_entrada, tercero_registra_salida
        from servicios.services import servicio_crear_nuevo, servicio_iniciar
        from habitaciones.services import habitacion_terminar_servicios
        from puntos_venta.factories import PuntoVentaFactory
        from puntos_venta.services import punto_venta_abrir

        self.acompanante.presente = False
        self.acompanante.save()
        tercero_registra_entrada(self.acompanante.id, '1111')
        tercero_registra_entrada(self.colaborador.id, '1111')

        self.punto_venta = PuntoVentaFactory(abierto=False,
                                             usuario_actual=None)

        self.punto_venta, self.punto_venta_turno = punto_venta_abrir(
            punto_venta_id=self.punto_venta.id,
            usuario_pv_id=self.colaborador.usuario.id,
            base_inicial_efectivo=0)
        servicio_inicial = servicio_crear_nuevo(
            habitacion_id=self.habitacion.id,
            acompanante_id=self.acompanante.id,
            categoria_fraccion_tiempo_id=self.categoria_fraccion_tiempo.id,
            usuario_pdv_id=self.punto_venta.usuario_actual.id)
        servicio_iniciar(servicio_id=servicio_inicial.id,
                         usuario_pdv_id=self.punto_venta.usuario_actual.id)
        with self.assertRaisesMessage(
                ValidationError,
                'No se puede registrar salida para este usuario, aún tiene servicios en proceso'
        ):
            tercero_registra_salida(self.acompanante.id, '1111')
        habitacion_terminar_servicios(
            habitacion_id=self.habitacion.id,
            usuario_pdv_id=self.punto_venta.usuario_actual.id)
        tercero_registra_salida(self.acompanante.id, '1111')
コード例 #6
0
ファイル: test_services.py プロジェクト: fagsoft1/dr_amor_app
    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)
コード例 #7
0
    def colaboradoresSetUp(self):
        # region Puntos de Venta
        from puntos_venta.factories import PuntoVentaFactory
        from puntos_venta.services import punto_venta_abrir
        self.punto_venta = PuntoVentaFactory(abierto=False,
                                             usuario_actual=None)
        self.bodega = self.punto_venta.bodega
        self.bodega.es_principal = False
        self.bodega.save()
        self.punto_venta_dos = PuntoVentaFactory(abierto=False,
                                                 usuario_actual=None)
        self.bodega_dos = self.punto_venta.bodega
        self.bodega_dos.es_principal = False
        self.bodega_dos.save()
        # endregion

        # region Colaboradores
        from terceros.factories import ColaboradorFactory
        from terceros.services import tercero_registra_entrada, tercero_set_new_pin, colaborador_crear

        # region Colaborador Uno
        self.colaborador_base = ColaboradorFactory.build(usuario=None)
        self.colaborador_base.pop('es_colaborador')
        self.colaborador_base.pop('usuario')
        self.colaborador_cajero = colaborador_crear(self.colaborador_base)

        tercero_set_new_pin(tercero_id=self.colaborador_cajero.id,
                            raw_pin='0000')
        tercero_registra_entrada(tercero_id=self.colaborador_cajero.id,
                                 raw_pin='0000')
        self.punto_venta, self.punto_venta_turno = punto_venta_abrir(
            usuario_pv_id=self.colaborador_cajero.usuario.id,
            punto_venta_id=self.punto_venta.id,
            base_inicial_efectivo=500000)
        # endregion

        # region Colaborador Dos

        self.colaborador_dos_base = ColaboradorFactory.build(usuario=None)
        self.colaborador_dos_base.pop('es_colaborador')
        self.colaborador_dos_base.pop('usuario')
        self.colaborador_dos = colaborador_crear(self.colaborador_dos_base)

        tercero_set_new_pin(tercero_id=self.colaborador_dos.id, raw_pin='0000')
        tercero_registra_entrada(tercero_id=self.colaborador_dos.id,
                                 raw_pin='0000')
        # endregion

        # region Colaborador Mesero

        self.colaborador_tres_base = ColaboradorFactory.build(usuario=None)
        self.colaborador_tres_base.pop('es_colaborador')
        self.colaborador_tres_base.pop('usuario')
        self.colaborador_mesero = colaborador_crear(self.colaborador_tres_base)

        tercero_set_new_pin(tercero_id=self.colaborador_mesero.id,
                            raw_pin='0000')
        tercero_registra_entrada(tercero_id=self.colaborador_mesero.id,
                                 raw_pin='0000')
        # endregion

        # region Colaborador Mesero Dos

        self.colaborador_cuatro_base = ColaboradorFactory.build(usuario=None)
        self.colaborador_cuatro_base.pop('es_colaborador')
        self.colaborador_cuatro_base.pop('usuario')
        self.colaborador_mesero_dos = colaborador_crear(
            self.colaborador_cuatro_base)

        tercero_set_new_pin(tercero_id=self.colaborador_mesero_dos.id,
                            raw_pin='0000')
        tercero_registra_entrada(tercero_id=self.colaborador_mesero_dos.id,
                                 raw_pin='0000')
コード例 #8
0
    def setUp(self):
        from terceros.factories import AcompananteFactory, ColaboradorFactory
        from puntos_venta.factories import PuntoVentaFactory
        from puntos_venta.services import punto_venta_abrir
        from habitaciones.factories import (HabitacionFactory,
                                            TipoHabitacionFactory)
        from servicios.services import servicio_crear_nuevo, servicio_iniciar
        from terceros_acompanantes.factories import (
            CategoriaFraccionTiempoFactory, FraccionTiempoFactory,
            CategoriaAcompananteFactory)
        from terceros.services import (acompanante_crear, tercero_set_new_pin,
                                       tercero_registra_entrada,
                                       colaborador_crear)

        self.tipo_habitacion_uno = TipoHabitacionFactory(valor=40000)
        self.tipo_habitacion_dos = TipoHabitacionFactory(valor=60000)
        self.tipo_habitacion_tres = TipoHabitacionFactory(valor=30000)

        self.habitacion_uno = HabitacionFactory(tipo=self.tipo_habitacion_uno)
        self.habitacion_dos = HabitacionFactory(tipo=self.tipo_habitacion_dos)
        self.habitacion_tres = HabitacionFactory(
            tipo=self.tipo_habitacion_tres)

        # Colaborador para transacciones
        colaborador_base = ColaboradorFactory.build(usuario=None)
        colaborador_base.pop('es_colaborador')
        colaborador_base.pop('usuario')

        self.colaborador = colaborador_crear(colaborador_base)
        self.colaborador, pin_nuevo = tercero_set_new_pin(
            self.colaborador.id, '0000')
        tercero_registra_entrada(tercero_id=self.colaborador.id,
                                 raw_pin='0000')
        self.punto_venta = PuntoVentaFactory(abierto=False,
                                             usuario_actual=None)
        self.punto_venta, self.punto_venta_turno = punto_venta_abrir(
            punto_venta_id=self.punto_venta.id,
            usuario_pv_id=self.colaborador.usuario.id,
            base_inicial_efectivo=0)

        # Acompanante
        self.categoria_modelo = CategoriaAcompananteFactory()
        self.fraccion_tiempo_30 = FraccionTiempoFactory(minutos=30)
        self.fraccion_tiempo_45 = FraccionTiempoFactory(minutos=45)
        self.fraccion_tiempo_60 = FraccionTiempoFactory(minutos=60)
        self.categoria_modelo = CategoriaAcompananteFactory()
        self.categoria_fraccion_tiempo_30 = CategoriaFraccionTiempoFactory(
            categoria=self.categoria_modelo,
            fraccion_tiempo=self.fraccion_tiempo_30,
            valor=100000)
        self.categoria_fraccion_tiempo_45 = CategoriaFraccionTiempoFactory(
            categoria=self.categoria_modelo,
            fraccion_tiempo=self.fraccion_tiempo_45,
            valor=150000)
        self.categoria_fraccion_tiempo_60 = CategoriaFraccionTiempoFactory(
            categoria=self.categoria_modelo,
            fraccion_tiempo=self.fraccion_tiempo_60,
            valor=200000)
        acompanante_base = AcompananteFactory.build(
            usuario=None, categoria_modelo=self.categoria_modelo)
        acompanante_base.pop('es_acompanante')
        acompanante_base.pop('usuario')

        self.acompanante = acompanante_crear(acompanante_base)

        self.acompanante_base_dos = AcompananteFactory.build(
            usuario=None, categoria_modelo=self.categoria_modelo)
        self.acompanante_base_dos.pop('es_acompanante')
        self.acompanante_base_dos.pop('usuario')
        self.acompanante_dos = acompanante_crear(self.acompanante_base_dos)

        self.acompanante, pin = tercero_set_new_pin(
            tercero_id=self.acompanante.id, raw_pin='0000')
        tercero_registra_entrada(tercero_id=self.acompanante.id,
                                 raw_pin='0000')

        self.acompanante_dos, pin = tercero_set_new_pin(
            tercero_id=self.acompanante_dos.id, raw_pin='0000')
        tercero_registra_entrada(tercero_id=self.acompanante_dos.id,
                                 raw_pin='0000')

        self.array_servicios = [
            {
                'tercero_id':
                self.acompanante.id,
                'categoria_fraccion_tiempo_id':
                self.categoria_fraccion_tiempo_30.id
            },
            {
                'tercero_id':
                self.acompanante_dos.id,
                'categoria_fraccion_tiempo_id':
                self.categoria_fraccion_tiempo_45.id
            },
            {
                'tercero_id':
                self.acompanante_dos.id,
                'categoria_fraccion_tiempo_id':
                self.categoria_fraccion_tiempo_60.id
            },
            {
                'tercero_id':
                self.acompanante.id,
                'categoria_fraccion_tiempo_id':
                self.categoria_fraccion_tiempo_60.id
            },
            {
                'tercero_id':
                self.acompanante.id,
                'categoria_fraccion_tiempo_id':
                self.categoria_fraccion_tiempo_45.id
            },
        ]

        self.array_servicios_id = []
        for servicio in self.array_servicios:
            tercero_id = servicio.pop('tercero_id')
            categoria_fraccion_tiempo_id = servicio.pop(
                'categoria_fraccion_tiempo_id')

            servicio_adicionado = servicio_crear_nuevo(
                habitacion_id=self.habitacion_uno.id,
                acompanante_id=tercero_id,
                categoria_fraccion_tiempo_id=categoria_fraccion_tiempo_id,
                usuario_pdv_id=self.colaborador.usuario.id)
            self.array_servicios_id.append(servicio_adicionado.id)

        servicios_a_iniciar = self.habitacion_uno.servicios.filter(estado=0)
        [
            servicio_iniciar(servicio_id=servicio.id,
                             usuario_pdv_id=self.colaborador.usuario.id)
            for servicio in servicios_a_iniciar.order_by('id').all()
        ]