Tests corrected, 'Thema' is now required (produces errors otherwise)
This commit is contained in:
@@ -60,7 +60,7 @@ class Vorgabe(models.Model):
|
|||||||
order = models.IntegerField()
|
order = models.IntegerField()
|
||||||
nummer = models.IntegerField()
|
nummer = models.IntegerField()
|
||||||
dokument = models.ForeignKey(Dokument, on_delete=models.CASCADE, related_name='vorgaben')
|
dokument = models.ForeignKey(Dokument, on_delete=models.CASCADE, related_name='vorgaben')
|
||||||
thema = models.ForeignKey(Thema, on_delete=models.PROTECT)
|
thema = models.ForeignKey(Thema, on_delete=models.PROTECT, blank=False)
|
||||||
titel = models.CharField(max_length=255)
|
titel = models.CharField(max_length=255)
|
||||||
referenzen = models.ManyToManyField(Referenz, blank=True)
|
referenzen = models.ManyToManyField(Referenz, blank=True)
|
||||||
gueltigkeit_von = models.DateField()
|
gueltigkeit_von = models.DateField()
|
||||||
@@ -132,13 +132,13 @@ class Vorgabe(models.Model):
|
|||||||
})
|
})
|
||||||
|
|
||||||
return conflicts
|
return conflicts
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
"""
|
"""
|
||||||
Validate the Vorgabe before saving.
|
Validate the Vorgabe before saving.
|
||||||
"""
|
"""
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
|
|
||||||
# Check for conflicts with existing Vorgaben
|
# Check for conflicts with existing Vorgaben
|
||||||
conflicts = self.find_conflicts()
|
conflicts = self.find_conflicts()
|
||||||
if conflicts:
|
if conflicts:
|
||||||
@@ -172,9 +172,9 @@ class Vorgabe(models.Model):
|
|||||||
'vorgabe1': self,
|
'vorgabe1': self,
|
||||||
'vorgabe2': other_vorgabe,
|
'vorgabe2': other_vorgabe,
|
||||||
'conflict_type': 'date_range_intersection',
|
'conflict_type': 'date_range_intersection',
|
||||||
'message': f"Vorgabe {self.Vorgabennummer()} conflicts with "
|
'message': f"Vorgabe {self.Vorgabennummer()} in Konflikt mit "
|
||||||
f"existing {other_vorgabe.Vorgabennummer()} "
|
f"bestehender {other_vorgabe.Vorgabennummer()} "
|
||||||
f"due to overlapping validity periods"
|
f" - Geltungsdauer übeschneidet sich"
|
||||||
})
|
})
|
||||||
|
|
||||||
return conflicts
|
return conflicts
|
||||||
|
|||||||
@@ -712,8 +712,8 @@ class VorgabeSanityCheckTest(TestCase):
|
|||||||
with self.assertRaises(Exception) as context:
|
with self.assertRaises(Exception) as context:
|
||||||
conflicting_vorgabe.clean()
|
conflicting_vorgabe.clean()
|
||||||
|
|
||||||
self.assertIn('conflicts with existing', str(context.exception))
|
self.assertIn('Konflikt mit bestehender', str(context.exception))
|
||||||
self.assertIn('overlapping validity periods', str(context.exception))
|
self.assertIn('Geltungsdauer übeschneidet sich', str(context.exception))
|
||||||
|
|
||||||
def test_check_vorgabe_conflicts_utility(self):
|
def test_check_vorgabe_conflicts_utility(self):
|
||||||
"""Test check_vorgabe_conflicts utility function"""
|
"""Test check_vorgabe_conflicts utility function"""
|
||||||
|
|||||||
Reference in New Issue
Block a user