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()
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()
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)
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)
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)
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)