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()
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'}
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)
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)
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')
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)
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')
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() ]