def test_balance_adjustment(self): """ Makes sure that the balance is added to the same invoice and same line item credit. """ product_credit = CreditLine.add_rate_credit( self.product_rate.monthly_fee, self.account, product_rate=self.product_rate, ) self.assertEqual(CreditAdjustment.objects.filter(credit_line=product_credit).count(), 1) CreditLine.add_rate_credit( self.product_rate.monthly_fee, self.account, product_rate=self.product_rate, ) self.assertEqual(CreditAdjustment.objects.filter(credit_line=product_credit).count(), 2) current_product_credit = CreditLine.objects.get(id=product_credit.id) self.assertEqual(current_product_credit.balance, self.product_rate.monthly_fee * 2) subscription_credit = CreditLine.add_subscription_credit( self.monthly_user_fee, self.subscription ) self.assertEqual(CreditAdjustment.objects.filter(credit_line=subscription_credit).count(), 1) CreditLine.add_subscription_credit( self.monthly_user_fee, self.subscription ) self.assertEqual(CreditAdjustment.objects.filter(credit_line=subscription_credit).count(), 2) current_subscription_credit = CreditLine.objects.get(id=subscription_credit.id) self.assertEqual(current_subscription_credit.balance, self.monthly_user_fee * 2) account_credit = CreditLine.add_account_credit( self.product_rate.monthly_fee, self.account ) self.assertEqual(CreditAdjustment.objects.filter(credit_line=account_credit).count(), 1) CreditLine.add_account_credit( self.monthly_user_fee, self.account ) self.assertEqual(CreditAdjustment.objects.filter(credit_line=account_credit).count(), 2) current_account_credit = CreditLine.objects.get(id=account_credit.id) self.assertEqual(current_account_credit.balance, self.product_rate.monthly_fee + self.monthly_user_fee)
def _generate_subscription_and_account_invoice_credits(self, monthly_fee, subscription, account): subscription_credit = CreditLine.add_subscription_credit( monthly_fee, subscription ) self.assertEqual(CreditAdjustment.objects.filter(credit_line=subscription_credit).count(), 1) account_credit = CreditLine.add_account_credit( monthly_fee, account ) self.assertEqual(CreditAdjustment.objects.filter(credit_line=account_credit).count(), 1) return subscription_credit, account_credit
def add_account_level(): CreditLine.add_account_credit(amount, account, note=note)