"""Integration tests suite for models.""" import datetime import abacus_common_logic.models from abacus_common_logic.constants.constants import DEFAULT_USER_ID def test_base_model_class(): """Test BaseModel class.""" base_model = abacus_common_logic.models.base.BaseModel assert callable(base_model.find_by_name) assert callable(base_model.get_by_id) assert callable(base_model.get_by_id_or_error) assert callable(base_model.delete_by_id_or_error) assert callable(base_model.filter_for) assert callable(base_model.default_order) assert callable(base_model.count) assert callable(base_model.create) assert callable(base_model.build) assert callable(base_model.current_timestamp) assert callable(base_model.commit_changes) assert callable(base_model.update_attributes) def test_base_model_instance(): """Test BaseModel instance initializing.""" base_instance = abacus_common_logic.models.base.BaseModel() assert hasattr(base_instance, 'created_at') assert hasattr(base_instance, 'created_by') assert hasattr(base_instance, 'last_modified') assert hasattr(base_instance, 'last_modified_by') assert isinstance(base_instance.created_at, datetime.datetime) assert isinstance(base_instance.last_modified, datetime.datetime) assert base_instance.created_by == DEFAULT_USER_ID assert base_instance.last_modified_by == DEFAULT_USER_ID