forked from uncloud/uncloud
pass first 2 bill tests
Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
This commit is contained in:
parent
9bf0a99f6a
commit
db1a69561b
2 changed files with 18 additions and 13 deletions
|
@ -399,8 +399,8 @@ class Bill(models.Model):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def sum(self):
|
def sum(self):
|
||||||
return 0
|
bill_records = BillRecord.objects.filter(bill=self)
|
||||||
# for self.billrecord_set.
|
return sum([ br.sum for br in bill_records ])
|
||||||
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -525,9 +525,10 @@ class BillRecord(models.Model):
|
||||||
starting_date = models.DateTimeField()
|
starting_date = models.DateTimeField()
|
||||||
ending_date = models.DateTimeField()
|
ending_date = models.DateTimeField()
|
||||||
|
|
||||||
|
@property
|
||||||
def quantity(self):
|
def quantity(self):
|
||||||
""" Determine the quantity by the duration"""
|
""" Determine the quantity by the duration"""
|
||||||
if self.order.is_recurring:
|
if self.order.is_one_time:
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
record_delta = self.ending_date - self.starting_date
|
record_delta = self.ending_date - self.starting_date
|
||||||
|
@ -535,6 +536,7 @@ class BillRecord(models.Model):
|
||||||
return record_delta.total_seconds()/self.order.recurring_period
|
return record_delta.total_seconds()/self.order.recurring_period
|
||||||
|
|
||||||
|
|
||||||
|
@property
|
||||||
def sum(self):
|
def sum(self):
|
||||||
return self.order.price * self.quantity
|
return self.order.price * self.quantity
|
||||||
|
|
||||||
|
|
|
@ -27,14 +27,7 @@ class ProductActivationTestCase(TestCase):
|
||||||
'description': 'One chocolate bar'
|
'description': 'One chocolate bar'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.one_time_order = Order.objects.create(
|
||||||
def test_bill_one_time_order(self):
|
|
||||||
one_time_price = 10
|
|
||||||
recurring_price = 150
|
|
||||||
description = "Test Product 1"
|
|
||||||
|
|
||||||
|
|
||||||
order = Order.objects.create(
|
|
||||||
owner=self.user,
|
owner=self.user,
|
||||||
starting_date=self.order_meta[1]['starting_date'],
|
starting_date=self.order_meta[1]['starting_date'],
|
||||||
ending_date=self.order_meta[1]['ending_date'],
|
ending_date=self.order_meta[1]['ending_date'],
|
||||||
|
@ -44,15 +37,25 @@ class ProductActivationTestCase(TestCase):
|
||||||
billing_address=self.billing_address)
|
billing_address=self.billing_address)
|
||||||
|
|
||||||
|
|
||||||
|
def test_bill_one_time_one_bill_record(self):
|
||||||
|
"""
|
||||||
|
Ensure there is only 1 bill record per order
|
||||||
|
"""
|
||||||
|
|
||||||
bill = Bill.create_next_bill_for_user(self.user)
|
bill = Bill.create_next_bill_for_user(self.user)
|
||||||
|
|
||||||
self.assertEqual(order.billrecord_set.count(), 1)
|
self.assertEqual(self.one_time_order.billrecord_set.count(), 1)
|
||||||
|
|
||||||
|
def test_bill_sum(self):
|
||||||
|
"""
|
||||||
|
Ensure there is only 1 bill record per order
|
||||||
|
"""
|
||||||
|
|
||||||
|
bill = Bill.create_next_bill_for_user(self.user)
|
||||||
self.assertEqual(bill.sum, self.order_meta[1]['price'])
|
self.assertEqual(bill.sum, self.order_meta[1]['price'])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# class NotABillingTC(TestCase):
|
# class NotABillingTC(TestCase):
|
||||||
# #class BillingTestCase(TestCase):
|
# #class BillingTestCase(TestCase):
|
||||||
# def setUp(self):
|
# def setUp(self):
|
||||||
|
|
Loading…
Reference in a new issue