def testNoSlug(self): ''' Empty or blank slug. ''' # Blank slug. errors = validation.validateHaiku('', 1000, 1, 5, 100, 20, 1000) # Check for error. self.assertEqual(errors['url_slug'], [e['noSlug']]) # None slug. errors = validation.validateHaiku(None, 1000, 1, 5, 100, 20, 1000) # Check for error. self.assertEqual(errors['url_slug'], [e['noSlug']])
def testValidParameters(self): ''' Valid parameters should pass. ''' errors = validation.validateHaiku('newslug', 1000, 1, 5, 100, 20, 1000) # Errors should be None. self.assertIsNone(errors)
def testNonIntSeedCapital(self): ''' Non-integer seed capital. ''' # String seed capital. errors = validation.validateHaiku('newslug', 1000, 1, 5, 100, 20, 'string') # Check for error. self.assertEqual(errors['seed_capital'], [e['mustBeInt']])
def testNoSeedCapital(self): ''' Empty seed capital. ''' # None seed capital. errors = validation.validateHaiku('newslug', 1000, 1, 5, 100, 20, None) # Check for error. self.assertEqual(errors['seed_capital'], [e['noCapital']])
def testNonIntHalfLife(self): ''' Non-integer half life. ''' # String half life. errors = validation.validateHaiku('newslug', 1000, 1, 5, 100, 'string', 1000) # Check for error. self.assertEqual(errors['decay_half_life'], [e['mustBeInt']])
def testNoHalfLife(self): ''' Empty half life. ''' # None half life. errors = validation.validateHaiku('newslug', 1000, 1, 5, 100, None, 1000) # Check for error. self.assertEqual(errors['decay_half_life'], [e['noHalfLife']])
def testNonIntBlindSubmissionValue(self): ''' Non-integer blind submission value. ''' # String blind submission value. errors = validation.validateHaiku('newslug', 1000, 1, 5, 'string', 20, 1000) # Check for error. self.assertEqual(errors['blind_submission_value'], [e['mustBeInt']])
def testNoBlindSubmissionValue(self): ''' Empty blind submission value. ''' # None blind submission value. errors = validation.validateHaiku('newslug', 1000, 1, 5, None, 20, 1000) # Check for error. self.assertEqual(errors['blind_submission_value'], [e['noSubmissionValue']])
def testNonIntMinBlindSubmissions(self): ''' Non-integer minimum blind submissions. ''' # String min blind submissions. errors = validation.validateHaiku('newslug', 1000, 1, 'string', 100, 20, 1000) # Check for error. self.assertEqual(errors['min_blind_submissions'], [e['mustBeInt']])
def testNoMinBlindSubmissions(self): ''' Empty minimum blind submissions. ''' # None min blind submissions. errors = validation.validateHaiku('newslug', 1000, 1, None, 100, 20, 1000) # Check for error. self.assertEqual(errors['min_blind_submissions'], [e['noMinSubmissions']])
def testNonIntSlicingInterval(self): ''' Non-integer slicing interval. ''' # String slicing interval. errors = validation.validateHaiku('newslug', 1000, 'string', 5, 100, 20, 1000) # Check for error. self.assertEqual(errors['slicing_interval'], [e['mustBeInt']])
def testNoSlicingInterval(self): ''' Empty slicing interval. ''' # None slicing interval. errors = validation.validateHaiku('newslug', 1000, None, 5, 100, 20, 1000) # Check for error. self.assertEqual(errors['slicing_interval'], [e['noInterval']])
def testNonIntRoundLength(self): ''' Non-integer round length. ''' # String round length. errors = validation.validateHaiku('newslug', 'string', 1, 5, 100, 20, 1000) # Check for error. self.assertEqual(errors['word_round_length'], [e['mustBeInt']])
def testNoRoundLength(self): ''' Empty round length. ''' # None round length. errors = validation.validateHaiku('newslug', None, 1, 5, 100, 20, 1000) # Check for error. self.assertEqual(errors['word_round_length'], [e['noRoundLength']])
def testTakenSlug(self): ''' Slug already taken. ''' # Taken slug. errors = validation.validateHaiku('slug', 1000, 1, 5, 100, 20, 1000) # Check for error. self.assertEqual(errors['url_slug'], [e['slugTaken']])
def new(admin): ''' Create a new haiku. ''' errors = None # If a form was posted. if request.method == 'POST': # Gather post. slug = request.form['url_slug'] roundLength = request.form['word_round_length'] interval = request.form['slicing_interval'] minSubmissions = request.form['min_blind_submissions'] submissionValue = request.form['blind_submission_value'] halfLife = request.form['decay_half_life'] capital = request.form['seed_capital'] # Validate form. errors = validation.validateHaiku( slug, roundLength, interval, minSubmissions, submissionValue, halfLife, capital) # If valid. if not errors: # Create the haiku. haiku = models.Haiku.createHaiku( admin.id, slug, roundLength, interval, minSubmissions, submissionValue, halfLife, capital) # Record the id, redirect. return redirect(url_for('browse')) return render_template( 'admin/new.html', errors = errors, form = request.form)