Example #1
0
    def test_policy_cancelled_with_description(self):
        self.policy.cancel_date = None
        self.policy.cancel_description = None

        pa = PolicyAccounting(self.policy.id)

        reset_invoices = Invoice.query.filter_by(policy_id=self.policy.id) \
            .order_by(Invoice.bill_date) \
            .all()
        for reset_invoice in reset_invoices:
            reset_invoice.deleted = False
        db.session.commit()

        pa.evaluate_cancel(date(2015, 5, 5), 'Just Because')

        invoices = Invoice.query.filter_by(policy_id=self.policy.id)\
            .order_by(Invoice.bill_date)\
            .all()

        self.assertEquals(invoices[0].deleted, False)
        self.assertEquals(invoices[1].deleted, True)
        self.assertEquals(invoices[2].deleted, True)
        self.assertEquals(invoices[3].deleted, True)

        self.assertEquals(self.policy.cancel_date, datetime.now().date())
        self.assertEquals(self.policy.cancel_description, 'Just Because')
Example #2
0
    def test_nonpayment_cancellation(self):
        """
        Test the automatic cancallation of a policy due to nonpayment
        """
        self.assertIsNone(self.policy.cancellation)

        pa = PolicyAccounting(self.policy.id)
        pa.evaluate_cancel(date(2015, 6, 1))

        self.assertTrue(pa.policy.cancelled)
Example #3
0
    def test_cancel_policy(self):

        self.policy.billing_schedule = "Annual"
        pa = PolicyAccounting(self.policy.id)

        pa.evaluate_cancel(date_cursor=date(2015, 5, 6), force_cancel=False)
        policy_changed = Policy.query.filter_by(id=self.policy.id).first()
        self.assertEquals('Canceled', policy_changed.status)

        pa.evaluate_cancel(date_cursor=date(2015, 1, 6), force_cancel=True)
        policy_changed = Policy.query.filter_by(id=self.policy.id).first()
        self.assertEquals('Canceled', policy_changed.status)
Example #4
0
    def test_policy_cancelled_without_description(self):
        pa = PolicyAccounting(self.policy.id)
        pa.evaluate_cancel(date(2015, 5, 5), '')

        invoices = Invoice.query.filter_by(policy_id=self.policy.id)\
            .order_by(Invoice.bill_date) \
            .all()

        self.assertEquals(invoices[0].deleted, False)
        self.assertEquals(invoices[1].deleted, True)
        self.assertEquals(invoices[2].deleted, True)
        self.assertEquals(invoices[3].deleted, True)

        self.assertEquals(self.policy.cancel_date, datetime.now().date())
        self.assertEquals(self.policy.cancel_description, None)
Example #5
0
    def test_policy_cancellation(self):
        pa = PolicyAccounting(self.policy.id)

        self.assertTrue(pa.evaluate_cancel(datetime.now().date())
                        )  # Policy returns true if policy should be cancelled

        cancelled_policy = Cancelled_Policy.query.filter_by(
            policy_id=self.policy.id).first()  # Get the newly cancelled policy

        print "Verification of cancelled policy"
        print "--------------------------------"
        print "Policy Number:", cancelled_policy.policy_number
        print "Cancelled on:", cancelled_policy.cancellation_date
        print "Reason:", cancelled_policy.cancellation_reason

        db.session.delete(cancelled_policy)
Example #6
0
 def test_policy_evaluate_cancel(self):
     pa = PolicyAccounting(self.policy.id)
     pa.evaluate_cancel(cancel_description='Some random reason')
     self.assertEquals(pa.policy.status, 'Canceled')
     self.assertEquals(pa.policy.cancel_description, 'Some random reason')