Example #1
0
    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()
Example #2
0
    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()