Ejemplo n.º 1
0
def payments_post():
    amount = request.form["amount"].strip()
    email = request.form["email"].strip()
    method = request.form["method"].strip()
    type = request.form["type"].strip()
    notes = request.form["notes"].strip()
    reference = request.form["reference"].strip()

    errors = payments.validate(amount, email, method, type, notes, reference)

    if len(errors) > 0:  # this means that an error has occured
        for e in errors:
            flash(e, 'danger')
        return render_template('payments.html', amount=amount, email=email,
                               method=method, type=type, notes=notes,
                               reference=reference), 400

    # Cajole the post data into integers
    amount = float(amount)
    type = int(type)
    method = int(method)

    payments.create(amount, email, method, type, notes, reference)
    flash("Thank you!", "success")

    return payments_get()
Ejemplo n.º 2
0
def payments_post():
    amount = get_post_value("amount")
    email = get_post_value("email")
    method = get_post_value("method")
    type = get_post_value("type")
    notes = get_post_value("notes")
    reference = get_post_value("reference")

    errors = payments.validate(amount, email, method, type, notes, reference)

    if len(errors) > 0:  # this means that an error has occured
        for e in errors:
            flash(e, 'danger')
        return render_template('payments.html', amount=amount, email=email,
                               method=method, type=type, notes=notes,
                               reference=reference), 400

    # Cajole the post data into integers
    amount = int(amount)
    type = int(type)
    method = int(method)

    payments.create(amount, email, method, type, notes, reference)
    flash("Thank you!", "success")

    return payments_get()
Ejemplo n.º 3
0
 def test_validate_reference(self):
     errors = payments.validate(str(self.amount),
                                self.email,
                                str(self.method),
                                str(self.type),
                                self.notes,
                                "")
     self.assertEqual(len(errors), 1)
Ejemplo n.º 4
0
 def test_validate_amount(self):
     errors = payments.validate("-100",
                                self.email,
                                str(self.method),
                                str(self.type),
                                self.notes,
                                self.reference)
     self.assertEqual(len(errors), 1)
Ejemplo n.º 5
0
    def test_payment_validation(self):
        # Make sure there is a signed up user
        rv = self.app.post('/signup/', data={
            "name": "Alice",
            "email": "*****@*****.**",
            "phone": "123456789",
            "agree": "true"},
            follow_redirects=True)

        # amount, email, method, type, notes, reference
        errors = payments.validate("12", "*****@*****.**", "0", "0", "", "vjhfg")
        self.assertEqual(errors, [])
        
        errors = payments.validate("12.45", "*****@*****.**", "0", "0", "", "vjhfg")
        self.assertEqual(errors, [])
        
        errors = payments.validate("12.101", "*****@*****.**", "0", "0", "", "vjhfg")
        self.assertTrue(len(errors) > 0)
Ejemplo n.º 6
0
    def test_validate_email(self):
        errors = payments.validate(str(self.amount),
                                   "",
                                   str(self.method),
                                   str(self.type),
                                   self.notes,
                                   self.reference)
        self.assertEqual(len(errors), 1)

        errors = payments.validate(str(self.amount),
                                   "not-an-email.com",
                                   str(self.method),
                                   str(self.type),
                                   self.notes,
                                   self.reference)
        self.assertEqual(len(errors), 1)

        errors = payments.validate(str(self.amount),
                                   "not-an-email@",
                                   str(self.method),
                                   str(self.type),
                                   self.notes,
                                   self.reference)
        self.assertEqual(len(errors), 1)