mirror of https://github.com/snachodog/mybuddy.git
Update tests for new validators.
This commit is contained in:
parent
c5612b102d
commit
fe3e753d65
|
@ -23,10 +23,7 @@ def validate_duration(model, max_duration=timedelta(hours=24)):
|
|||
'Start time must come before end time.',
|
||||
code='end_before_start')
|
||||
if model.end - model.start > max_duration:
|
||||
raise ValidationError(
|
||||
'Duration too long (%(timesince)s).',
|
||||
params={'timesince': timesince(model.start, model.end)},
|
||||
code='max_duration')
|
||||
raise ValidationError('Duration too long.', code='max_duration')
|
||||
|
||||
|
||||
def validate_time(time, field_name):
|
||||
|
@ -38,7 +35,7 @@ def validate_time(time, field_name):
|
|||
"""
|
||||
if time > timezone.localtime():
|
||||
raise ValidationError(
|
||||
{field_name: 'Times can not be in the future.'},
|
||||
{field_name: 'Date/time can not be in the future.'},
|
||||
code='time_invalid')
|
||||
|
||||
|
||||
|
|
|
@ -100,13 +100,6 @@ class FormsTestCase(TestCase):
|
|||
page = self.c.post('/feedings/{}/'.format(entry.id), params)
|
||||
self.assertEqual(page.status_code, 302)
|
||||
|
||||
params['start'] = '2001-01-01 1:01'
|
||||
page = self.c.post('/feedings/{}/'.format(entry.id), params)
|
||||
self.assertEqual(page.status_code, 200)
|
||||
self.assertFormError(page, 'form', None,
|
||||
'Start time must come before end time.')
|
||||
|
||||
params['start'] = '2000-01-01 1:01'
|
||||
params['method'] = 'left breast'
|
||||
page = self.c.post('/feedings/{}/'.format(entry.id), params)
|
||||
self.assertEqual(page.status_code, 200)
|
||||
|
@ -130,19 +123,14 @@ class FormsTestCase(TestCase):
|
|||
page = self.c.post('/sleep/{}/'.format(entry.id), params)
|
||||
self.assertEqual(page.status_code, 302)
|
||||
|
||||
params['start'] = '2001-01-01 1:01'
|
||||
page = self.c.post('/sleep/{}/'.format(entry.id), params)
|
||||
self.assertEqual(page.status_code, 200)
|
||||
self.assertFormError(page, 'form', None,
|
||||
'Start time must come before end time.')
|
||||
|
||||
def test_timer_forms(self):
|
||||
timer = models.Timer.objects.create(user=self.user)
|
||||
start_time = timezone.localtime()
|
||||
timer = models.Timer.objects.create(user=self.user, start=start_time)
|
||||
timer.save()
|
||||
|
||||
params = {
|
||||
'name': 'New',
|
||||
'start': timer.start.strftime('%Y-%m-%d %H:%M:%S')
|
||||
'start': start_time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
}
|
||||
page = self.c.post('/timer/{}/edit/'.format(timer.id), params)
|
||||
self.assertEqual(page.status_code, 302)
|
||||
|
@ -158,6 +146,13 @@ class FormsTestCase(TestCase):
|
|||
timer.refresh_from_db()
|
||||
self.assertEqual(timer.start, start_time)
|
||||
|
||||
# Test changing a stopped timer
|
||||
timer.end = timer.start + timezone.timedelta(hours=1)
|
||||
timer.save()
|
||||
params['name'] = 'New timer name'
|
||||
page = self.c.post('/timer/{}/edit/'.format(timer.id), params)
|
||||
self.assertEqual(page.status_code, 302)
|
||||
|
||||
def test_tummytime_forms(self):
|
||||
params = {
|
||||
'child': 1,
|
||||
|
@ -176,8 +171,29 @@ class FormsTestCase(TestCase):
|
|||
page = self.c.post('/tummy-time/{}/'.format(entry.id), params)
|
||||
self.assertEqual(page.status_code, 302)
|
||||
|
||||
params['start'] = '2001-01-01 1:01'
|
||||
def test_validators(self):
|
||||
params = {
|
||||
'child': 1,
|
||||
'start': '2001-01-01 1:01',
|
||||
'end': '2000-01-01 1:11',
|
||||
'milestone': ''
|
||||
}
|
||||
entry = models.TummyTime.objects.first()
|
||||
|
||||
page = self.c.post('/tummy-time/{}/'.format(entry.id), params)
|
||||
self.assertEqual(page.status_code, 200)
|
||||
self.assertFormError(page, 'form', None,
|
||||
'Start time must come before end time.')
|
||||
|
||||
params['start'] = '1999-01-01 1:11'
|
||||
page = self.c.post('/tummy-time/{}/'.format(entry.id), params)
|
||||
self.assertEqual(page.status_code, 200)
|
||||
self.assertFormError(page, 'form', None, 'Duration too long.')
|
||||
|
||||
tomorrow = (timezone.localtime() + timezone.timedelta(days=1))
|
||||
params['end'] = tomorrow.strftime('%Y-%m-%d %H:%M:%S')
|
||||
page = self.c.post('/tummy-time/{}/'.format(entry.id), params)
|
||||
self.assertEqual(page.status_code, 200)
|
||||
self.assertFormError(page, 'form', 'end',
|
||||
'Date/time can not be in the future.')
|
||||
|
||||
|
|
Loading…
Reference in New Issue