def test_dos_estacionamiento_muchos_pagos(self): n = 1000 pro1 = Propietario(nombre="PepeUn", ci='V-12345678', tel="0412-1234567") pro1.save() e1 = Estacionamiento( ci_propietario=pro1, nombre="nom1", direccion="dir1", rif="J-123456789", capacidad=n, apertura=time(0, 0), cierre=time(23, 59), ) pro2 = Propietario(nombre="PepeDos", ci='V-12345679', tel="0412-1234568") pro2.save() e2 = Estacionamiento( ci_propietario=pro2, nombre="nom2", direccion="dir3", rif="J-123456789", capacidad=n, apertura=time(0, 0), cierre=time(23, 59), ) e1.save() e2.save() for i in range(0, n): r = Reserva(estacionamiento=e1, inicioReserva=datetime(2015, 3, 10, 3, 0), finalReserva=datetime(2015, 3, 10, 5, 0)) r.save() p = Pago( fechaTransaccion=datetime.now(), cedula="V-1234567", tipoPago="VISTA", reserva=r, monto=100, ) p.save() for i in range(0, n): r = Reserva(estacionamiento=e2, inicioReserva=datetime(2015, 3, 10, 3, 0), finalReserva=datetime(2015, 3, 10, 5, 0)) r.save() p = Pago( fechaTransaccion=datetime.now(), cedula="V-1234567", tipoPago="VISTA", reserva=r, monto=100, ) p.save() lista, total = consultar_ingresos("J-123456789") self.assertTrue(len(lista) == 2 and total == 2 * n * 100)
def test_dos_estacionamiento_muchos_pagos(self): n = 1000 prop = Propietario(nombres="prop", apellidos="", cedula="") prop.save() e1 = Estacionamiento( propietario=prop, nombre="nom1", direccion="dir1", rif="J-123456789", capacidad=n, apertura=time(0, 0), cierre=time(23, 59), ) e2 = Estacionamiento( propietario=prop, nombre="nom2", direccion="dir3", rif="J-123456789", capacidad=n, apertura=time(0, 0), cierre=time(23, 59), ) e1.save() e2.save() for i in range(0, n): r = Reserva(estacionamiento=e1, inicioReserva=datetime(2015, 3, 10, 3, 0), finalReserva=datetime(2015, 3, 10, 5, 0)) r.save() p = Pago( fechaTransaccion=datetime.now(), cedulaTipo="V", cedula="1234567", tarjetaTipo="VISTA", reserva=r, monto=100, ) p.save() for i in range(0, n): r = Reserva(estacionamiento=e2, inicioReserva=datetime(2015, 3, 10, 3, 0), finalReserva=datetime(2015, 3, 10, 5, 0)) r.save() p = Pago( fechaTransaccion=datetime.now(), cedulaTipo="V", cedula="1234567", tarjetaTipo="VISTA", reserva=r, monto=100, ) p.save() lista, total = consultar_ingresos("J-123456789") self.assertTrue(len(lista) == 2 and total == 2 * n * 100)
def test_un_estacionamiento_un_pago(self): prop = Propietario(nombres="prop", apellidos="", cedula="") prop.save() e = Estacionamiento( propietario=prop, nombre="nom", direccion="dir", rif="J-123456789", capacidad=20, apertura=time(0, 0), cierre=time(23, 59), ) e.save() r = Reserva(estacionamiento=e, inicioReserva=datetime(2015, 3, 10, 3, 0), finalReserva=datetime(2015, 3, 10, 5, 0)) r.save() p = Pago( fechaTransaccion=datetime.now(), cedulaTipo="V", cedula="1234567", tarjetaTipo="VISTA", reserva=r, monto=150, ) p.save() lista, total = consultar_ingresos("J-123456789") self.assertTrue(len(lista) == 1 and total == 150)
def test_muchos_estacionamiento_con_disintos_rif(self): n = 1000 for i in range(0, n): pro = Propietario(nombre="prop%d" % i, ci='V-12345678%d' % i, tel="0412-1234567") pro.save() e1 = Estacionamiento( ci_propietario=pro, nombre="nom%d" % i, direccion="dir1", rif="J-%i" % (123456789 - i), capacidad=n, apertura=time(0, 0), cierre=time(23, 59), ) e1.save() r = Reserva(estacionamiento=e1, inicioReserva=datetime(2015, 3, 10, 3, 0), finalReserva=datetime(2015, 3, 10, 5, 0)) r.save() p = Pago( fechaTransaccion=datetime.now(), cedula="V-1234567", tipoPago="VISTA", reserva=r, monto=100, ) p.save() lista, total = consultar_ingresos("J-123456789") self.assertTrue(len(lista) == 1 and total == 100)
def test_un_estacionamiento_muchos_pagos(self): n = 1000 p = Puestos(particular=n, moto=20, carga=20, discapacitado=20) p.save() e = Estacionamiento( propietario=self.crear_propietario(), nombre="nom", direccion="dir", telefono1="041414141111", telefono2="041414141112", telefono3="04141414111", email1="*****@*****.**", email2="*****@*****.**", rif="J-123456789", capacidad=p, apertura=time(0, 0), cierre=time(23, 59), ) e.save() for i in range(0, n): r = Reserva(estacionamiento=e, inicioReserva=datetime(2015, 3, 10, 3, 0), finalReserva=datetime(2015, 3, 10, 5, 0), tipo_puesto='Particular') r.save() p = Pago( fechaTransaccion=datetime.now(), cedula="V-1234567", tarjetaTipo="VISTA", reserva=r, monto=100, ) p.save() lista, total = consultar_ingresos("J-123456789") self.assertTrue(len(lista) == 1 and total == n * 100)
def crear_factura(_reserva, monto, tarjetaTipo, facturaMovida): pago = Pago(reserva=_reserva, id=asigna_id_unico(), fechaTransaccion=datetime.now(), cedula="10", cedulaTipo="V", tarjetaTipo=tarjetaTipo, monto=Decimal(monto), facturaMovida=facturaMovida) pago.save()
def crear_Pago3(self): pago3 = Pago( fechaTransaccion=datetime.now(), cedula="V-2345678", tarjetaTipo='Vista', reserva=self.crear_Reserva3(), monto=8.08, ) pago3.save() return pago3
def crear_factura(_reserva, monto): pago = Pago(reserva=_reserva, id=asigna_id_unico(), fechaTransaccion=datetime.now(), cedula="10", cedulaTipo="V", tarjetaTipo="Billetera Electronica", nombreUsuario='Maria', apellidoUsuario='Perez', idBilletera='1', monto=Decimal(monto)) pago.save()
def test_muchos_estacionamiento_mitad_sin_pagos(self): n = 100 m = 10 for i in range(0, n): pro1 = Propietario(nombre="prop1%d" % i, ci="V-12345678%d" % i, tel="0412-1234567") pro2 = Propietario(nombre="prop2%d" % (i + 1), ci="V-12345679%d" % (i + 1), tel="0412-1234567") pro1.save() pro2.save() e1 = Estacionamiento( ci_propietario=pro1, nombre="nom%d" % i, direccion="dir1", rif="J-123456789", capacidad=m, apertura=time(0, 0), cierre=time(23, 59), ) e2 = Estacionamiento( ci_propietario=pro2, nombre="no%d" % i, direccion="dir3", rif="J-123456789", capacidad=m, apertura=time(0, 0), cierre=time(23, 59), ) e1.save() e2.save() for j in range(0, m): r = Reserva(estacionamiento=e1, inicioReserva=datetime(2015, 3, 10, 3, 0), finalReserva=datetime(2015, 3, 10, 5, 0)) r.save() p = Pago( fechaTransaccion=datetime.now(), cedula="V-1234567", tipoPago="VISTA", reserva=r, monto=100, ) p.save() lista, total = consultar_ingresos("J-123456789") self.assertTrue(len(lista) == 2 * n and total == n * m * 100)
def test_muchos_estacionamiento_con_disintos_rif(self): n = 1000 for i in range(0, n): prop = Propietario( nombre="prop%d" % i, apellido="apell", cedula="V-041414141111", telefono="041414141112", email="*****@*****.**", ) prop.save() p = Puestos(particular=n, moto=20, carga=20, discapacitado=20) p.save() e1 = Estacionamiento( propietario=prop, nombre="nom%d" % i, direccion="dir1", rif="J-%i" % (123456789 - i), capacidad=p, apertura=time(0, 0), cierre=time(23, 59), ) e1.save() r = Reserva(estacionamiento=e1, inicioReserva=datetime(2015, 3, 10, 3, 0), finalReserva=datetime(2015, 3, 10, 5, 0), tipo_puesto='Particular') r.save() p = Pago( fechaTransaccion=datetime.now(), cedula="V-1234567", tarjetaTipo="VISTA", reserva=r, monto=100, ) p.save() lista, total = consultar_ingresos("J-123456789") self.assertTrue(len(lista) == 1 and total == 100)
def estacionamiento_pago(request, _id): form = PagoForm() try: estacionamiento = Estacionamiento.objects.get(id=_id) except ObjectDoesNotExist: raise Http404 if (estacionamiento.apertura is None): return HttpResponse( status=403) # No esta permitido acceder a esta vista aun if request.method == 'POST': form = PagoForm(request.POST) if form.is_valid(): inicioReserva = datetime( year=request.session['anioinicial'], month=request.session['mesinicial'], day=request.session['diainicial'], hour=request.session['inicioReservaHora'], minute=request.session['inicioReservaMinuto']) finalReserva = datetime( year=request.session['aniofinal'], month=request.session['mesfinal'], day=request.session['diafinal'], hour=request.session['finalReservaHora'], minute=request.session['finalReservaMinuto']) reservaFinal = Reserva( estacionamiento=estacionamiento, inicioReserva=inicioReserva, finalReserva=finalReserva, ) # Se guarda la reserva en la base de datos reservaFinal.save() monto = Decimal(request.session['monto']).quantize(Decimal('1.00')) pago = Pago( fechaTransaccion=datetime.now(), cedula=form.cleaned_data['cedula'], cedulaTipo=form.cleaned_data['cedulaTipo'], monto=monto, tarjetaTipo=form.cleaned_data['tarjetaTipo'], reserva=reservaFinal, ) # Se guarda el recibo de pago en la base de datos pago.save() return render( request, 'pago.html', { "id": _id, "pago": pago, "color": "green", 'mensaje': "Se realizo el pago de reserva satisfactoriamente." }) return render(request, 'pago.html', {'form': form})