"""Integration tests for abacus_common_logic package.""" from types import ModuleType import pytest from marshmallow import ValidationError from marshmallow.fields import Field import abacus_common_logic.marshalling def test_marshalling_custom_fields_is_module(): """Test abacus_common_logic has custom fields module.""" assert isinstance(abacus_common_logic.marshalling.custom_fields, ModuleType) def test_marshalling_custom_fields(): """Test custom fields existence.""" from abacus_common_logic.marshalling.custom_fields import ma assert isinstance(ma.FormattedDate(), Field) assert isinstance(ma.NonemptyString(), Field) assert isinstance(ma.IntegerId(), Field) assert isinstance(ma.Percentage(), Field) assert isinstance(ma.Enum(['1', '2']), Field) def test_check_decimal_precision(): """Test check_decimal_precision method.""" import abacus_common_logic.marshalling.custom_validations as custom_validation assert custom_validation.check_decimal_precision('22.00') def test_check_decimal_precision_validation_error(): """Test check_decimal_precision method.""" import abacus_common_logic.marshalling.custom_validations as custom_validation with pytest.raises(ValidationError): assert custom_validation.check_decimal_precision('22,00')