File tree Expand file tree Collapse file tree 2 files changed +45
-0
lines changed Expand file tree Collapse file tree 2 files changed +45
-0
lines changed Original file line number Diff line number Diff line change @@ -276,6 +276,11 @@ def validate(self, data):
276
276
except ValidationError as error :
277
277
errors ['monthly_day' ].append (error )
278
278
279
+ end = data .get ('end' )
280
+ if start and end and start > end :
281
+ errors ['start' ] = 'start date may not be after the end date'
282
+ errors ['end' ] = 'end date may not be before the start date'
283
+
279
284
if errors :
280
285
raise ValidationError (errors )
281
286
Original file line number Diff line number Diff line change @@ -3608,6 +3608,46 @@ def test_validation_update_change_end(self):
3608
3608
instance .end ,
3609
3609
date (2010 , 5 , 1 ))
3610
3610
3611
+ def test_validation_create_start_after_end (self ):
3612
+ serializer = TaskChunkSeriesSerializer (data = {
3613
+ 'task_id' : self .task .pk ,
3614
+ 'start' : '2010-02-24' ,
3615
+ 'end' : '2010-01-01' ,
3616
+ 'rule' : 'interval' ,
3617
+ 'interval_days' : 10 ,
3618
+ }, context = self .context )
3619
+ self .assertFalse (
3620
+ serializer .is_valid ())
3621
+ self .assertSetEqual (
3622
+ set (serializer .errors .keys ()),
3623
+ {
3624
+ 'start' ,
3625
+ 'end' ,
3626
+ })
3627
+
3628
+ def test_validation_update_start_after_end (self ):
3629
+ instance = TaskChunkSeries .objects .create (
3630
+ task = self .task ,
3631
+ start = date (2010 , 2 , 24 ),
3632
+ rule = 'interval' ,
3633
+ interval_days = 10 )
3634
+
3635
+ serializer = TaskChunkSeriesSerializer (instance = instance , data = {
3636
+ 'task_id' : self .task .pk ,
3637
+ 'start' : '2010-02-24' ,
3638
+ 'end' : '2010-01-01' ,
3639
+ 'rule' : 'interval' ,
3640
+ 'interval_days' : 10 ,
3641
+ }, context = self .context )
3642
+ self .assertFalse (
3643
+ serializer .is_valid ())
3644
+ self .assertSetEqual (
3645
+ set (serializer .errors .keys ()),
3646
+ {
3647
+ 'start' ,
3648
+ 'end' ,
3649
+ })
3650
+
3611
3651
3612
3652
class TaskChunkSeriesViewSetTest (AuthenticatedApiTest ):
3613
3653
def setUp (self ):
You can’t perform that action at this time.
0 commit comments