Ejemplo n.º 1
0
    def test_show_an_inscripcion(self):
        self._login('usuario_1', 'secreto')
        inscripcion = Inscripcion(id=uuid.uuid1(),
                                  localidad='Quito',
                                  servidor='Conny Riera',
                                  fecha='2018-08-01',
                                  administradores=['usuario_1'])

        participante = ParticipanteBuilder(monto=Decimal('25.00')).build()

        if feature.is_enabled("COMPROBANTE_PAGO"):
            inscripcion.comprobante_uri = 'https://s3.aws.com/comprobante.jpg'
        self.inscripcion_repository.add(inscripcion)
        self.participante_repository.add(participante, inscripcion.id)

        response = self.client.get(f"/inscripciones/{inscripcion.id}")

        self.assertEqual(response.status_code, 200)
        self._assert_static_text(str(inscripcion.id), response)
        self._assert_static_text(inscripcion.localidad, response)
        self._assert_static_text(inscripcion.servidor, response)
        self._assert_static_text('25.00', response)
        if feature.is_enabled("COMPROBANTE_PAGO"):
            self.assertTrue(inscripcion.comprobante_uri in response.get_data(
                as_text=True))
Ejemplo n.º 2
0
def edit_inscripcion(id):
    form = InscripcionForm()
    inscripcion = inscripcion_repository.find_by(id)
    if not inscripcion.is_managed_by(current_user.nombre_usuario):
        return render_template('403.html', site=site), 403

    if form.validate_on_submit():
        inscripcion.localidad = form.localidad.data
        inscripcion.servidor = form.servidor.data
        inscripcion.fecha = form.fecha.data

        if feature.is_enabled("COMPROBANTE_PAGO"):
            inscripcion.comprobante_uri = form.comprobante_uri.data.filename

        inscripcion_repository.update(inscripcion)
        return redirect(url_for('main.index_inscripcion'))

    form.localidad.data = inscripcion.localidad
    form.servidor.data = inscripcion.servidor
    form.fecha.data = inscripcion.fecha

    # TODO: create a google drive client to fetch file
    if feature.is_enabled("COMPROBANTE_PAGO"):
        comprobante_file = open("comprobante.jpg", "w+")
        comprobante_file.close()
        form.comprobante_uri.data = comprobante_file

    return render_template('save_inscripcion.html',
                           feature=feature,
                           form=form,
                           site=site)
Ejemplo n.º 3
0
    def test_should_edit_an_inscripcion(self):
        self._login()
        inscripcion = Inscripcion(id=uuid.uuid1(),
                                  localidad='Quito',
                                  servidor='Conny Riera',
                                  fecha='2018-08-01',
                                  administradores=['usuario_1', 'admin'])

        if feature.is_enabled("COMPROBANTE_PAGO"):
            inscripcion.comprobante_uri = 'comprobante.jpg'

        self.inscripcion_repository.add(inscripcion)

        inscripcion_data = {
            'localidad': 'Quito Norte',
            'servidor': 'Raul Riera',
            'monto': '450.00',
            'fecha': '2018-09-01'
        }

        if feature.is_enabled('COMPROBANTE_PAGO'):
            inscripcion_data = {
                'localidad':
                'Quito Norte',
                'servidor':
                'Raul Riera',
                'monto':
                '450.00',
                'fecha':
                '2018-09-01',
                'comprobante_uri':
                (BytesIO('Comprobante sample content'.encode('utf-8')),
                 'comprobante.jpg')
            }

        response = self.client.post(f'/inscripciones/{inscripcion.id}/edit',
                                    content_type='multipart/form-data',
                                    buffered=True,
                                    data=inscripcion_data)

        inscripciones = self.inscripcion_repository.find_all()
        filtered_inscripcion = list(
            filter(
                lambda i: i.localidad == 'Quito Norte' and i.servidor ==
                'Raul Riera', inscripciones))
        self.assertTrue(len(filtered_inscripcion) == 1)
        self.assertEqual(response.status_code, 302)
Ejemplo n.º 4
0
    def test_new_inscripcion(self):
        self._login()
        response = self.client.get("/inscripciones/new")

        self.assertEqual(response.status_code, 200)

        self._assert_static_text('Nombre de la Localidad', response)
        self._assert_static_text('Nombre del servidor/a', response)
        self._assert_static_text('Fecha de pago', response)
        if feature.is_enabled("COMPROBANTE_PAGO"):
            self.assertTrue('Comprobante de pago' in response.get_data(
                as_text=True))
Ejemplo n.º 5
0
def create_inscripcion():
    form = InscripcionForm()
    if form.validate_on_submit():
        inscripcion = Inscripcion(id=uuid.uuid1(),
                                  localidad=form.localidad.data,
                                  servidor=form.servidor.data,
                                  fecha=form.fecha.data)

        if feature.is_enabled("COMPROBANTE_PAGO"):
            inscripcion.comprobante_uri = form.comprobante_uri.data.filename

        inscripcion_repository.add(inscripcion)
        return redirect(url_for('main.index_inscripcion'))

    return render_template('save_inscripcion.html',
                           feature=feature,
                           site=site,
                           form=form)
Ejemplo n.º 6
0
    def test_create_an_inscripcion(self):
        self._login()
        inscripcion_data = {
            'localidad': 'Quito',
            'servidor': 'Conny Riera',
            'monto': '150.00',
            'fecha': '2018-08-01'
        }

        if feature.is_enabled("COMPROBANTE_PAGO"):
            inscripcion_data = {
                'localidad':
                'Quito',
                'servidor':
                'Conny Riera',
                'monto':
                '150.00',
                'fecha':
                '2018-08-01',
                'comprobante_uri':
                (BytesIO('Comprobante sample content'.encode('utf-8')),
                 'comprobante.jpg')
            }

        response = self.client.post('/inscripciones/new',
                                    content_type='multipart/form-data',
                                    buffered=True,
                                    data=inscripcion_data)

        inscripciones = self.inscripcion_repository.find_all()
        filtered_inscripcion = list(
            filter(
                lambda i: i.localidad == 'Quito' and i.servidor ==
                'Conny Riera', inscripciones))
        self.assertTrue(len(filtered_inscripcion) == 1)
        self.assertEqual(response.status_code, 302)