"""PerformanceNrSoundRecording model tests.""" from moneyhub.models import PerformanceNrSoundRecording from tests.unit.conftest import using_mock_snowflake_table _MOCK_DATA = { 'performance_nr_sound_recording': [ { 'id': 'aaa-bbb-ccc-001', 'recording_title': 'NR Track One', 'isrc': 'JPYE70900611', }, { 'id': 'aaa-bbb-ccc-002', 'recording_title': 'NR Track Two', 'isrc': 'fake002', }, { 'id': 'aaa-bbb-ccc-003', 'recording_title': None, 'isrc': None, }, ], } @using_mock_snowflake_table(PerformanceNrSoundRecording, _MOCK_DATA) def test_get_recording_names_by_ids(): """Test getting recording names by IDs.""" result = PerformanceNrSoundRecording.get_recording_names_by_ids( ['aaa-bbb-ccc-001', 'aaa-bbb-ccc-002']) assert len(result) == 2 result_sorted = sorted(result, key=lambda r: r.recording_id) assert result_sorted[0]._asdict() == { 'recording_id': 'aaa-bbb-ccc-001', 'recording_title': 'NR Track One', 'isrc': 'JPYE70900611' } assert result_sorted[1]._asdict() == { 'recording_id': 'aaa-bbb-ccc-002', 'recording_title': 'NR Track Two', 'isrc': 'fake002' } @using_mock_snowflake_table(PerformanceNrSoundRecording, _MOCK_DATA) def test_get_recording_names_by_ids_single(): """Test getting a single recording name.""" result = PerformanceNrSoundRecording.get_recording_names_by_ids( ['aaa-bbb-ccc-001']) assert len(result) == 1 assert result[0].recording_id == 'aaa-bbb-ccc-001' assert result[0].recording_title == 'NR Track One' assert result[0].isrc == 'JPYE70900611'