"""Functional tests for Reference Payment Type handlers.""" from abacus_contract.models.reference_payment_type import ReferencePaymentType from tests.utils.factories import ReferencePaymentTypeFactory def test_get_reference_payment_type_by_id(fixture_client): """Test getting a Reference Payment Type.""" payment_type = ReferencePaymentTypeFactory.create() reference_payment_type_id = payment_type.reference_payment_type_id res = fixture_client.get(f'/reference-payment-type/{reference_payment_type_id}') assert res.status_code == 200 assert res.json == { 'reference_payment_type_id': payment_type.reference_payment_type_id, 'payment_type': payment_type.payment_type, 'payment_service': payment_type.payment_service, 'is_internal': payment_type.is_internal, 'notes': payment_type.notes, } def test_get_get_reference_payment_types_list(fixture_client): """Test getting a Reference Payment Types list.""" initial_qty = ReferencePaymentType.query.count() payment_type_1 = ReferencePaymentTypeFactory.create() payment_type_2 = ReferencePaymentTypeFactory.create() res = fixture_client.get('/reference-payment-types') assert res.status_code == 200 items = res.json.get('items') assert len(items) == res.json.get('total_count') assert items[initial_qty][ 'reference_payment_type_id' ] == payment_type_1.reference_payment_type_id assert items[initial_qty + 1][ 'reference_payment_type_id' ] == payment_type_2.reference_payment_type_id