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')
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)
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)
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)
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)
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')