Example #1
0
 def test_cancel_policy_with_wrong_description(self):
     pa = PolicyAccounting(self.policy.id)
     pa.cancel_policy('unpaid', None, date(2019, 3, 3))
     self.assertEqual(self.policy.invoices[0].deleted, False)
     self.assertEqual(self.policy.status, 'Active')
     self.assertNotEqual(self.policy.cancelation_reason, 'unpaid')
     self.assertNotEqual(self.policy.cancellation_description, None)
     self.assertEqual(self.policy.cancelation_date, date(2019, 3, 3))
Example #2
0
 def test_cancel_policy_with_wrong_status(self):
     pa = PolicyAccounting(self.policy.id)
     pa.cancel_policy('wrong cancelation status', 'This is the description for the cancelation', date(2019, 3, 3))
     self.assertEqual(self.policy.invoices[0].deleted, False)
     self.assertEqual(self.policy.status, 'Active')
     self.assertNotEqual(self.policy.cancelation_reason, 'wrong cancelation status')
     self.assertEqual(self.policy.cancellation_description, 'This is the description for the cancelation')
     self.assertEqual(self.policy.cancelation_date, date(2019, 3, 3))
Example #3
0
 def test_cancel_policy(self):
     pa = PolicyAccounting(self.policy.id)
     pa.cancel_policy('unauthorized', 'This is the description for the cancelation', date(2019, 3, 3))
     self.assertEquals(self.policy.invoices[0].deleted, True)
     self.assertEquals(self.policy.status, 'Canceled')
     self.assertEquals(self.policy.cancelation_reason, 'unauthorized')
     self.assertEquals(self.policy.cancellation_description, 'This is the description for the cancelation')
     self.assertEquals(self.policy.cancelation_date, date(2019, 3, 3))
Example #4
0
    def test_cancel_policy_invalid_reason(self):
        pa = PolicyAccounting(self.policy.id)
        pa.cancel_policy('Canceled', 'Random Status Code', 'description')

        self.assertEquals(self.policy.invoices[0].deleted, False)
        self.assertEquals(self.policy.status, 'Active')
        self.assertEquals(self.policy.status_code, None)
        self.assertEquals(self.policy.status_desc, None)
        self.assertEquals(self.policy.cancel_date, None)
Example #5
0
    def test_expire_policy(self):
        pa = PolicyAccounting(self.policy.id)
        pa.cancel_policy('Expired', 'Non-Payment')

        self.assertEquals(self.policy.invoices[0].deleted, True)
        self.assertEquals(self.policy.status, 'Expired')
        self.assertEquals(self.policy.status_code, 'Non-Payment')
        self.assertEquals(self.policy.status_desc, None)
        self.assertEquals(self.policy.cancel_date, datetime.now().date())
Example #6
0
    def test_cancel_policy(self):
        pa = PolicyAccounting(self.policy.id)
        pa.cancel_policy('Canceled', 'Fraud', 'description')

        self.assertEquals(self.policy.invoices[0].deleted, True)
        self.assertEquals(self.policy.status, 'Canceled')
        self.assertEquals(self.policy.status_code, 'Fraud')
        self.assertEquals(self.policy.status_desc, 'description')
        self.assertEquals(self.policy.cancel_date, datetime.now().date())
Example #7
0
    def test_Given_policy_to_cancel_When_policy_canceled_Then_policy_data_updated(
            self):
        pa = PolicyAccounting(self.policy.id)

        pa.cancel_policy("underwriting")

        self.assertEqual(pa.policy.status, 'Canceled')
        self.assertEqual(pa.policy.reason, "underwriting")
        self.assertEqual(pa.policy.date_changed, datetime.now().date())
 def test_cancel_policy(self):
     """
      Test canceling policy caused of unpaid invoices
     """
     self.policy.billing_schedule = "Annual"
     pa = PolicyAccounting(self.policy.id)
     # Cancel policy
     pa.cancel_policy()
     # Policy canceled cause of unpaid
     self.assertEquals(self.policy.status, "Canceled")
     self.assertEquals(self.policy.cancel_desc, "Unpaid")
Example #9
0
    def test_cancel_policy(self):
        """
        Test the basic cancellation mechanism
        """
        self.assertIsNone(self.policy.cancellation)

        pa = PolicyAccounting(self.policy.id)

        pa.cancel_policy("Nonpayment", date(2015, 1, 1))

        self.assertIsNotNone(self.policy.cancellation)

        self.assertTrue(self.policy.cancelled)
Example #10
0
 def test_cancel_policy_other(self):
     """
      Test canceling policy caused of other reason
     """
     self.policy.billing_schedule = "Annual"
     pa = PolicyAccounting(self.policy.id)
     self.payments.append(
         pa.make_payment(self.policy.agent, date(2015, 1, 1), 1200))
     # Cancel policy for underwriting
     pa.cancel_policy(desc="Underwriting")
     # Check wheter policy canceled with provided reason
     self.assertEquals(self.policy.status, "Canceled")
     self.assertEquals(self.policy.cancel_desc, "Underwriting")
 def test_cancel_policy(self):
     pa = PolicyAccounting(self.policy.id)
     canceled = pa.cancel_policy(date(2015, 1, 17), "Test Cancel")
     self.assertEquals(canceled, True)
     self.assertEquals(self.policy.cancelation_date, date(2015, 1, 17))
     self.assertEquals(self.policy.status, "Canceled")
     self.assertEquals(self.policy.cancel_description, "Test Cancel")
Example #12
0
 def test_cancel_policy(self):
     pa = PolicyAccounting(self.policy.id)
     pa.cancel_policy('Underwriting')
     self.assertEquals(self.policy.status, 'Canceled')
     self.assertEquals(self.policy.termination_date, datetime.now().date())
Example #13
0
class TestCancelPolicy(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.test_agent = Contact("Test Agent", "Agent")
        cls.test_insured = Contact("Test Insured", "Named Insured")
        db.session.add(cls.test_agent)
        db.session.add(cls.test_insured)
        db.session.commit()

    @classmethod
    def tearDownClass(cls):
        db.session.delete(cls.test_insured)
        db.session.delete(cls.test_agent)
        db.session.commit()

    def setUp(self):
        self.policy = Policy("Test Policy", date(2015, 1, 1), 1200)
        self.policy.named_insured = self.test_insured.id
        self.policy.agent = self.test_agent.id
        self.policy.billing_schedule = "Quarterly"

        db.session.add(self.policy)
        db.session.commit()

        self.pa = PolicyAccounting(self.policy.id)
        self.payments = []

    def tearDown(self):
        for invoice in self.policy.invoices:
            db.session.delete(invoice)
        for payment in self.payments:
            db.session.delete(payment)
        db.session.delete(self.policy)
        db.session.commit()

    def test_cancel_cancelable_policy(self):
        self.pa.cancel_policy()
        self.assertEquals(self.policy.status, "Canceled")
        self.assertEquals(self.policy.status_change_description, None)
        self.assertNotEqual(self.policy.status_change_date, None)

    def test_cancel_cancelable_policy_with_date(self):
        date = datetime.now().date()
        self.pa.cancel_policy(date_cursor=date)
        self.assertEquals(self.policy.status, "Canceled")
        self.assertEquals(self.policy.status_change_description, None)
        self.assertEquals(self.policy.status_change_date, date)

    def test_cancel_cancelable_policy_with_description(self):
        description = "Test description"
        self.pa.cancel_policy(description=description)
        self.assertEquals(self.policy.status, "Canceled")
        self.assertEquals(self.policy.status_change_description, description)
        self.assertNotEqual(self.policy.status_change_date, None)

    def test_cancel_cancelable_policy_with_description_and_date(self):
        date = datetime.now().date()
        description = "Test description"
        self.pa.cancel_policy(description=description)
        self.assertEquals(self.policy.status, "Canceled")
        self.assertEquals(self.policy.status_change_description, description)
        self.assertEquals(self.policy.status_change_date, date)

    def test_cancel_uncancelable_policy(self):
        for invoice in self.policy.invoices:
            self.payments.append(
                self.pa.make_payment(
                    amount=invoice.amount_due, date_cursor=invoice.bill_date
                )
            )
        self.pa.cancel_policy()
        self.assertEquals(self.policy.status, "Active")
        self.assertEquals(self.policy.status_change_description, None)
        self.assertEquals(self.policy.status_change_date, None)