def pagarReserva(request): context = RequestContext(request) if request.method == 'POST': form = PagoForm(request.POST) if form.is_valid(): form.save(commit=True) return index(request) else: form = PagoForm() return render_to_response('estacionamientos/pago.html', {'form': form}, context)
def test_PagoTarjetaForm_DosCampos(self): form_data = { 'nombre': 'Pedro', 'apellido': 'Perez', } form = PagoForm(data=form_data) self.assertFalse(form.is_valid())
def test_PagoTarjetaForm_CuatroCampos(self): form_data = { 'nombre': 'Pedro', 'apellido': 'Perez', 'cedulaTipo': 'V', 'cedula': '123456789', } form = PagoForm(data=form_data) self.assertFalse(form.is_valid())
def test_PagoTarjetaForm_SeisCampos(self): form_data = { 'nombre': 'Pedro', 'apellido': 'Perez', 'cedula': 'V-24277100', 'tarjetaTipo': 'Vista', 'tarjeta': '1234567890123456', } form = PagoForm(data = form_data) self.assertTrue(form.is_valid())
def test_Limite_Inferior_Cedula(self): form_data = { 'nombre': 'Pedro', 'apellido': 'Perez', 'cedula': 'V-0', 'tarjetaTipo': 'Vista', 'tarjeta': '1234567890123456', } form = PagoForm(data = form_data) self.assertTrue(form.is_valid())
def test_PagoTarjetaForm_ApellidoInvalidoEspacio(self): form_data = { 'nombre': 'Pedro', 'apellido': ' Perez', 'cedula': 'V-123456789', 'tarjetaTipo': 'Vista', 'tarjeta': '1234567890123456', } form = PagoForm(data = form_data) self.assertTrue(form.is_valid())
def test_PagoTarjetaForm_NombreInvalidoSimbolos(self): form_data = { 'nombre': 'Pedro*', 'apellido': 'Perez', 'cedulaTipo': 'V', 'cedula': '123456789', 'tarjetaTipo': 'Vista', 'tarjeta': '1234567890123456', } form = PagoForm(data=form_data) self.assertFalse(form.is_valid())
def test_PagoTarjetaForm_TodosCamposErroneos(self): form_data = { 'nombre': 'Pedro1', 'apellido': 'Perez2', 'cedulaTipo': 'foo', 'cedula': '12345678as9', 'tarjetaTipo': 'American', 'tarjeta': 'prueba', } form = PagoForm(data=form_data) self.assertFalse(form.is_valid())
def test_PagoTarjetaForm_CuatroCamposErroneos(self): form_data = { 'nombre': 'Pedro1', 'apellido': 'Perez', 'cedulaTipo': 'foo', 'cedula': '12345sda6789', 'tarjetaTipo': 'American', 'tarjeta': '1234', } form = PagoForm(data=form_data) self.assertFalse(form.is_valid())
def test_PagoTarjetaForm_TarjetaInvalido(self): form_data = { 'nombre': 'Pedro1', 'apellido': 'Perez', 'cedulaTipo': 'V', 'cedula': '123456789', 'tarjetaTipo': 'Vista', 'tarjeta': 'ab12345', } form = PagoForm(data=form_data) self.assertFalse(form.is_valid())
def test_PagoTarjetaForm_BilleteraPinIdInvalidos(self): form_data = { 'nombre': 'Pedro', 'apellido': 'Perez', 'cedulaTipo': 'V', 'cedula': '123456789', 'tarjetaTipo': 'Billetera Electronica', 'ID': '12345', 'PIN': '12345', } form = PagoForm(data=form_data) self.assertFalse(form.is_valid())
def test_PagoTarjetaForm_UnCampo(self): form_data = { 'nombre': 'Pedro', } form = PagoForm(data=form_data) self.assertFalse(form.is_valid())
def test_PagoTarjetaForm_Vacio(self): form_data = {} form = PagoForm(data=form_data) self.assertFalse(form.is_valid())
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})