def test_invoice_validation(self): invoice = Invoice(billing=self.billing, start=self.invoice.start, end=self.invoice.end, payment=30) # Full overlap self.assertRaises(ValidationError, invoice.clean) # Start overlap invoice.start = self.invoice.end + timedelta(days=1) self.assertRaises(ValidationError, invoice.clean) # Zero interval invoice.end = self.invoice.end + timedelta(days=1) self.assertRaises(ValidationError, invoice.clean) # Valid after existing invoice.end = self.invoice.end + timedelta(days=2) invoice.clean() # End overlap invoice.start = self.invoice.start - timedelta(days=4) invoice.end = self.invoice.end self.assertRaises(ValidationError, invoice.clean) # Valid before existing invoice.end = self.invoice.start - timedelta(days=1) invoice.clean() # Validation of existing self.invoice.clean()
def test_invoice_validation(self): invoice = Invoice( billing=self.billing, start=self.invoice.start, end=self.invoice.end, amount=30 ) # Full overlap with self.assertRaises(ValidationError): invoice.clean() # Start overlap invoice.start = self.invoice.end + timedelta(days=1) with self.assertRaises(ValidationError): invoice.clean() # Zero interval invoice.end = self.invoice.end + timedelta(days=1) with self.assertRaises(ValidationError): invoice.clean() # Valid after existing invoice.end = self.invoice.end + timedelta(days=2) invoice.clean() # End overlap invoice.start = self.invoice.start - timedelta(days=4) invoice.end = self.invoice.end with self.assertRaises(ValidationError): invoice.clean() # Valid before existing invoice.end = self.invoice.start - timedelta(days=1) invoice.clean() # Validation of existing self.invoice.clean()