def setUp(self): super().setUp() from terceros.factories import AcompananteFactory, ColaboradorFactory self.url = '/api/terceros/' self.permiso = 'tercero' self.acompanante = AcompananteFactory() self.acompanante.usuario.set_password('contrasena') self.acompanante.usuario.save() self.colaborador = ColaboradorFactory()
def test_listar_presentes(self): from terceros.factories import AcompananteFactory from terceros.services import tercero_set_new_pin, tercero_registra_entrada AcompananteFactory() tercero_nuevo = AcompananteFactory() tercero_set_new_pin(tercero_id=tercero_nuevo.id, raw_pin='0000') tercero_registra_entrada(tercero_id=tercero_nuevo.id, raw_pin='0000') tercero_set_new_pin(tercero_id=self.acompanante.id, raw_pin='0000') tercero_registra_entrada(tercero_id=self.acompanante.id, raw_pin='0000') response = self.list_route_get('listar_presentes/') self.assertEqual(len(response.data), 2)
def test_listar_presentes(self): from terceros.factories import AcompananteFactory from terceros.services import acompanante_encriptar, tercero_registra_entrada, tercero_set_new_pin entrara = AcompananteFactory( nombre=acompanante_encriptar('uno'), nombre_segundo=acompanante_encriptar('dos'), apellido=acompanante_encriptar('uno'), apellido_segundo=acompanante_encriptar('uno'), nro_identificacion=acompanante_encriptar('uno')) AcompananteFactory() AcompananteFactory() tercero_set_new_pin(tercero_id=entrara.id, raw_pin='0000') tercero_registra_entrada(tercero_id=entrara.id, raw_pin='0000') response = self.list_route_get('listar_presentes/') self.assertEqual(len(response.data), 1)
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 terceros.factories import AcompananteFactory, ColaboradorFactory self.user_sin_tercero = UserFactory() self.user = UserFactory() self.user_acompanante = UserFactory() self.punto_venta = PuntoVentaFactory(abierto=False, usuario_actual=None) self.punto_venta_dos = PuntoVentaFactory(abierto=False, usuario_actual=None) self.acompanante = AcompananteFactory(usuario=self.user_acompanante) self.colaborador = ColaboradorFactory(usuario=UserFactory()) self.colaborador_dos = ColaboradorFactory(usuario=UserFactory())
def test_validar_documento_acompanante(self): from terceros.factories import AcompananteFactory from terceros.services import acompanante_encriptar, acompanante_desencriptar acompanante = AcompananteFactory( nombre=acompanante_encriptar('uno'), nombre_segundo=acompanante_encriptar('dos'), apellido=acompanante_encriptar('uno'), apellido_segundo=acompanante_encriptar('uno'), nro_identificacion=acompanante_encriptar('uno')) response = self.list_route_get( 'validar_documento_acompanante/?nro_identificacion_1=%s' % acompanante_desencriptar(acompanante.nro_identificacion)) self.assertEqual(response.data, {'nro_identificacion_1': 'Ya exite'}) response = self.list_route_get( 'validar_documento_acompanante/?alias_modelo=%s' % acompanante.alias_modelo) self.assertEqual(response.data, {'alias_modelo': 'Ya exite'})
def crear_base_venta(self): self.crear_productos() from terceros.factories import ColaboradorFactory, AcompananteFactory, CuentaColaboradorFactory from ..factories import PuntoVentaFactory from ..services import punto_venta_abrir from terceros.services import (tercero_set_new_pin, tercero_registra_entrada) tercero = ColaboradorFactory() tercero.usuario = self.user tercero.save() tercero_set_new_pin(tercero_id=tercero.id, raw_pin='0000') tercero_registra_entrada(tercero_id=tercero.id, raw_pin='0000') punto_venta = PuntoVentaFactory(abierto=False, usuario_actual=None, bodega=self.bodega) self.punto_venta, punto_venta_turno = punto_venta_abrir( punto_venta_id=punto_venta.id, usuario_pv_id=self.user.id, base_inicial_efectivo=0) acompanante = AcompananteFactory() tercero_set_new_pin(tercero_id=acompanante.id, raw_pin='0000') tercero_registra_entrada(tercero_id=acompanante.id, raw_pin='0000') self.cuenta = CuentaColaboradorFactory(propietario=acompanante.usuario) self.pedido = [ { 'producto_id': self.mid_uno.producto.id, 'precio_total': 2000, 'cantidad': 1 }, { 'producto_id': self.mid_dos.producto.id, 'precio_total': 3000, 'cantidad': 2 }, { 'producto_id': self.mid_tres.producto.id, 'precio_total': 4000, 'cantidad': 3 }, ]
def acompanantesSetUp(self): # region Categorias Modelos from terceros_acompanantes.factories import ( CategoriaFraccionTiempoFactory, FraccionTiempoFactory, 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) # endregion # region Acompanantes from terceros.factories import AcompananteFactory from terceros.services import (acompanante_crear, tercero_set_new_pin, tercero_registra_entrada) # region Acompañante uno self.acompanante_base = AcompananteFactory.build( categoria_modelo=self.categoria_modelo) self.acompanante_base.pop('es_acompanante') self.acompanante_base.pop('usuario') self.acompanante = acompanante_crear(self.acompanante_base) 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') # endregion # region Acompañante dos self.acompanante_base_dos = AcompananteFactory.build( 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_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') # endregion # region Acompañante tres self.acompanante_base_tres = AcompananteFactory.build( categoria_modelo=self.categoria_modelo) self.acompanante_base_tres.pop('es_acompanante') self.acompanante_base_tres.pop('usuario') self.acompanante_tres = acompanante_crear(self.acompanante_base_tres) self.acompanante_tres, pin = tercero_set_new_pin( tercero_id=self.acompanante_tres.id, raw_pin='0000') tercero_registra_entrada(tercero_id=self.acompanante_tres.id, raw_pin='0000')
class TercerosTestApi(BaseTestsApi): def setUp(self): super().setUp() from terceros.factories import AcompananteFactory, ColaboradorFactory self.url = '/api/terceros/' self.permiso = 'tercero' self.acompanante = AcompananteFactory() self.acompanante.usuario.set_password('contrasena') self.acompanante.usuario.save() self.colaborador = ColaboradorFactory() def test_cambiar_pin(self): from terceros.services import tercero_is_pin_correct self.detail_route_post('cambiar_pin', { 'password': '******', 'pin': '1234' }, self.acompanante.id) self.assertTrue(tercero_is_pin_correct(self.acompanante.id, '1234')) def test_generar_qr(self): self.assertIsNone(self.acompanante.qr_acceso) self.detail_route_post('generar_qr', None, self.acompanante.id) self.acompanante.refresh_from_db() self.assertIsNotNone(self.acompanante.qr_acceso) def test_buscar_por_qr(self): from terceros.services import tercero_set_new_pin, tercero_registra_entrada 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.refresh_from_db() self.acompanante.qr_acceso = 'prueba_qr' self.acompanante.save() response = self.list_route_post('buscar_por_qr/', {'codigo_qr': 'prueba_qr'}) respuesta = response.data self.assertEqual(self.acompanante.id, respuesta.get('id')) response = self.list_route_post('buscar_por_qr/', {'codigo_qr': 'prueba_qrS'}, True) respuesta = response.data self.assertEqual( respuesta, {'_error': 'No se encuentra usuario con este codigo qr'}) def test_listar_ausentes(self): from terceros.factories import AcompananteFactory AcompananteFactory() response = self.list_route_get('listar_ausentes/') self.assertEqual(len(response.data), 3) def test_listar_presentes(self): from terceros.factories import AcompananteFactory from terceros.services import tercero_set_new_pin, tercero_registra_entrada AcompananteFactory() tercero_nuevo = AcompananteFactory() tercero_set_new_pin(tercero_id=tercero_nuevo.id, raw_pin='0000') tercero_registra_entrada(tercero_id=tercero_nuevo.id, raw_pin='0000') tercero_set_new_pin(tercero_id=self.acompanante.id, raw_pin='0000') tercero_registra_entrada(tercero_id=self.acompanante.id, raw_pin='0000') response = self.list_route_get('listar_presentes/') self.assertEqual(len(response.data), 2) def test_registrar_ingreso_salida(self): from terceros.services import tercero_set_new_pin tercero_set_new_pin(tercero_id=self.acompanante.id, raw_pin='0000') self.detail_route_post('registrar_ingreso', {'pin': '0000'}, self.acompanante.id) self.acompanante.refresh_from_db() self.assertTrue(self.acompanante.presente) self.detail_route_post('registrar_salida', {'pin': '0000'}, self.acompanante.id) self.acompanante.refresh_from_db() self.assertFalse(self.acompanante.presente) def test_validar_documento(self): response = self.list_route_get( 'validar_documento_tercero/?nro_identificacion=%s' % self.colaborador.nro_identificacion) self.assertEqual(response.data, {'nro_identificacion': 'Ya exite'}) response = self.list_route_get( 'validar_documento_tercero/?nro_identificacion=no_existe', True) self.assertEqual(response.data, {})
def test_listar_ausentes(self): from terceros.factories import AcompananteFactory AcompananteFactory() response = self.list_route_get('listar_ausentes/') self.assertEqual(len(response.data), 3)
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() ]