"""Tests for art_relations logic.""" import pytest from src.logic import art_relations from src.models.metadata import TrackParticipation @pytest.fixture def execute_query_mock(mocker): """Mock execute_query.""" return mocker.patch.object(art_relations, 'execute_query') class TestGetTrackParticipations: """Tests for get_track_participations.""" def test_get_track_participations(self, execute_query_mock): """Test get_product_participations.""" execute_query_mock.side_effect = [ [{ 'track_id': 1, 'artist_id': 1, 'artist_name': 'The Beatles', 'artist_role': 'performer', }], [{ 'track_id': 1, 'artist_id': 2, 'artist_name': 'George Martin', 'artist_role': 'track_writer', }], ] expected_result = [ TrackParticipation( track_id=1, participant_id=1, participant_name='The Beatles', participant_participated_as='performer', ), TrackParticipation( track_id=1, participant_id=2, participant_name='George Martin', participant_participated_as='track_writer', ), ] result = art_relations.get_track_participations(1) assert result == expected_result