"""Tests for Track Logic.""" from unittest.mock import call from backend.constants import track_field as tf from backend.logic import isrc as isrc_logic from backend.models import isrc as isrc_model def test_is_isrc_in_use(mocker): """Is isrc in use works.""" mocker.patch( 'backend.models.track_persister.TrackPersister.get_by_isrc_and_type', return_value={'product_id': 1}) isrc_response = isrc_logic.is_isrc_in_use(tf.TRACK_TYPE_MUSIC, 'isrc') assert isrc_response.message == {'used': True, 'used_by_product_id': 1} def test_get_isrc_usage_stats(mocker): """Test get_isrc_usage_stats passes through to model.""" mocker.patch.object(isrc_model, 'get_isrc_usage_stats') result = isrc_logic.get_isrc_usage_stats(112233) assert isrc_model.get_isrc_usage_stats.mock_calls == [call(112233)] assert result == isrc_model.get_isrc_usage_stats.return_value def test_get_tracks_with_isrc_logic(mocker): """Test get_tracks_with_isrc passes through to model.""" mocker.patch.object(isrc_model, 'get_tracks_with_isrc') result = isrc_logic.get_tracks_with_isrc_logic('whatever', 10, 0) assert isrc_model.get_tracks_with_isrc.mock_calls == [call('whatever', 10, 0)] assert result == isrc_model.get_tracks_with_isrc.return_value