"""Tests for Audio Attribute Logic.""" from backend.logic import audio_attribute as audio_attribute_logic def test_get_audio_attributes(mocker): """Test if generic get_audio_attributes works.""" mocker.patch( 'backend.models.audio_attribute_query.AudioAttributeQuery.get_audio_attributes', return_value=[ {'id': 1, 'description': 'N/A'}, {'id': 2, 'description': 'Soundalike'}, {'id': 3, 'description': 'Classical - Contemporary'} ]) get_audio_attributes_response = audio_attribute_logic.get_audio_attributes() assert get_audio_attributes_response == [ {'id': 1, 'description': 'N/A'}, {'id': 2, 'description': 'Soundalike'}, {'id': 3, 'description': 'Classical - Contemporary'} ] def test_get_tracks_audio_attribute(mocker): """Test if tuid specific get_track_audio_attributes works.""" mocker.patch('backend.models.audio_attribute_query.AudioAttributeQuery.get_track_audio_attributes', return_value=[{'audio_attribute_id': 1, 'description': 'N/A', 'track_audio_attribute_id': 1}]) get_track_audio_attributes_response = audio_attribute_logic.get_track_audio_attributes( 182) assert get_track_audio_attributes_response == [{'audio_attribute_id': 1, 'description': 'N/A', 'track_audio_attribute_id': 1}] def test_get_tracks_audio_attribute_edits(mocker): """Test if tuid specific get_track_audio_attributes edits works.""" mocker.patch('backend.models.audio_attribute_query.AudioAttributeQuery.get_track_audio_attributes_edits', return_value=[{'audio_attribute_id': 1, 'description': 'N/A', 'track_audio_attribute_id': 1}]) get_track_audio_attributes_edits_response = audio_attribute_logic.get_track_audio_attributes_edits( 182) assert get_track_audio_attributes_edits_response == [{'audio_attribute_id': 1, 'description': 'N/A', 'track_audio_attribute_id': 1}] def test_get_tracks_suggested_audio_attribute(mocker): """Test if tuid specific get_track_suggested_audio_attributes works.""" mocker.patch('backend.models.audio_attribute_query.AudioAttributeQuery.get_track_suggested_audio_attributes', return_value=[{'audio_attribute_id': 1, 'description': 'N/A', 'track_audio_attribute_id': 1}]) get_track_suggested_audio_attributes_response = audio_attribute_logic.get_track_suggested_audio_attributes( 182) assert get_track_suggested_audio_attributes_response == [{'audio_attribute_id': 1, 'description': 'N/A', 'track_audio_attribute_id': 1}] def test_sync_track_audio_attributes(mocker): """Test if update_track_audio_attributes works.""" mocker.patch( 'backend.models.track_audio_attribute_persister.TrackAudioAttributePersister.sync_track_audio_attributes', return_value='success') tracks = [{'tuid': 182, 'track_atttributes': [1, 2, 3]}] orchard_identity_id = 'uuid' sync_track_audio_attributes_response = audio_attribute_logic.update_track_audio_attributes( tracks, orchard_identity_id) assert sync_track_audio_attributes_response == 'success'