Esempio n. 1
0
    def test_frequency(self):
        # When the insuree already reaches his limit of visits
        # Given
        insuree = create_test_insuree()
        self.assertIsNotNone(insuree)
        product = create_test_product("CSECT")
        policy = create_test_policy(product, insuree, link=True)
        service = create_test_service("C",
                                      custom_props={
                                          "code": "G34B",
                                          "frequency": 180
                                      })
        product_service = create_test_product_service(product, service)
        pricelist_detail = add_service_to_hf_pricelist(service)

        # A first claim for a visit should be accepted
        claim1 = create_test_claim({"insuree_id": insuree.id})
        service1 = create_test_claimservice(
            claim1, custom_props={"service_id": service.id})
        errors = validate_claim(claim1, True)
        mark_test_claim_as_processed(claim1)

        self.assertEquals(len(errors), 0, "The first visit should be accepted")

        # a second visit should be denied
        claim2 = create_test_claim({"insuree_id": insuree.id})
        service2 = create_test_claimservice(
            claim2, custom_props={"service_id": service.id})
        errors = validate_claim(claim2, True)
        self.assertGreater(
            len(errors), 0,
            "The second service should be refused as it is withing 180 days")

        # Then
        claim1.refresh_from_db()
        claim2.refresh_from_db()

        # tearDown
        service2.delete()
        claim2.delete()
        service1.delete()
        claim1.delete()
        policy.insuree_policies.first().delete()
        policy.delete()
        product_service.delete()
        pricelist_detail.delete()
        service.delete()
        product.delete()
Esempio n. 2
0
    def test_limit_surgery(self):
        # When the insuree already reaches his limit of visits
        # Given
        insuree = create_test_insuree()
        self.assertIsNotNone(insuree)
        product = create_test_product("DELIV",
                                      custom_props={"max_no_surgery": 1})
        policy = create_test_policy(product, insuree, link=True)
        service = create_test_service("S", custom_props={"code": "SSSS"})
        product_service = create_test_product_service(product, service)
        pricelist_detail = add_service_to_hf_pricelist(service)

        # A first claim for a delivery should be accepted
        claim1 = create_test_claim({"insuree_id": insuree.id})
        service1 = create_test_claimservice(
            claim1, custom_props={"service_id": service.id})
        errors = validate_claim(claim1, True)
        mark_test_claim_as_processed(claim1)

        self.assertEquals(len(errors), 0,
                          "The first surgery should be accepted")

        # a second delivery should be denied
        claim2 = create_test_claim({"insuree_id": insuree.id})
        service2 = create_test_claimservice(
            claim2, custom_props={"service_id": service.id})
        errors = validate_claim(claim2, True)
        self.assertGreater(
            len(errors), 0,
            "The second service should fail because there is already one surgery"
        )

        # Then
        claim1.refresh_from_db()
        claim2.refresh_from_db()

        # tearDown
        service2.delete()
        claim2.delete()
        service1.delete()
        claim1.delete()
        policy.insuree_policies.first().delete()
        policy.delete()
        product_service.delete()
        pricelist_detail.delete()
        service.delete()
        product.delete()