|
@@ -111,6 +111,31 @@ class BillingInvoiceCreationTests(TestCase):
|
|
|
self.assertEqual(invoice_test_2.details.first().period_to,
|
|
|
datetime.date(2014, 5, 31))
|
|
|
|
|
|
+ def test_non_billable_offer_isnt_charged(self):
|
|
|
+ """
|
|
|
+ Test qu'une offre non facturable n'est pas prise en compte
|
|
|
+ """
|
|
|
+ # Créé une offre non facturable
|
|
|
+ offer = Offer(name='Offre', billing_period=3, period_fees=30,
|
|
|
+ initial_fees=50, non_billable=True)
|
|
|
+ offer.save()
|
|
|
+ # Créé un abonnement
|
|
|
+ self.subscription = OfferSubscription(
|
|
|
+ subscription_date=datetime.date(2014, 1, 10),
|
|
|
+ member=self.member,
|
|
|
+ offer=offer)
|
|
|
+ self.subscription.save()
|
|
|
+
|
|
|
+ # Demande la création de la première facture
|
|
|
+ invoice = create_member_invoice_for_a_period(
|
|
|
+ self.member, datetime.date(2014, 1, 1))
|
|
|
+
|
|
|
+ # Vérifie qu'il n'y a pas l'offre dans la facture, si c'est le cas génère une exception
|
|
|
+ if invoice:
|
|
|
+ for detail in invoice.details.all():
|
|
|
+ if detail.offersubscription.offer == offer:
|
|
|
+ raise Exception
|
|
|
+
|
|
|
|
|
|
class BillingTests(TestCase):
|
|
|
|