"""Unit tests for the logic layer.""" import pytest from src.logic import record_handlers from src.logic.art_relations.handlers import artist_info_insert, vendor_service_tier_delete, vendor_service_tier_insert class TestRecordHandlers: """Tests for get_record_handler function.""" @pytest.fixture def record_with_no_handler(self): """Record without corresponding handler.""" return {'database': 'not supported', 'table': 'record', 'type': 'type'} def test_get_record_handler_no_handler(self, record_with_no_handler): """No handler for unsupported records.""" handler = record_handlers.get_record_handler(record_with_no_handler) assert handler is None def test_get_record_handler(self): """Return proper handler.""" record = {'database': 'art_relations', 'table': 'artist_info', 'type': 'insert'} handler = record_handlers.get_record_handler(record) assert handler.__name__ == artist_info_insert.__name__ def test_get_record_handler_vendor_service_tier_insert(self): """Return proper handler for vendor_service_tier insert.""" record = {'database': 'art_relations', 'table': 'vendor_service_tier', 'type': 'insert'} handler = record_handlers.get_record_handler(record) assert handler.__name__ == vendor_service_tier_insert.__name__ def test_get_record_handler_vendor_service_tier_delete(self): """Return proper handler for vendor_service_tier delete.""" record = {'database': 'art_relations', 'table': 'vendor_service_tier', 'type': 'delete'} handler = record_handlers.get_record_handler(record) assert handler.__name__ == vendor_service_tier_delete.__name__