43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
import pytest
|
|
|
|
from ytdl_sub.entries.soundcloud import SoundcloudTrack
|
|
|
|
|
|
@pytest.fixture
|
|
def url():
|
|
return "soundcloud.com/artist/track-asdfasdf"
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_soundcloud_track_to_dict(mock_entry_to_dict):
|
|
return dict(
|
|
mock_entry_to_dict,
|
|
**{
|
|
"track_number": 1,
|
|
"track_number_padded": "01",
|
|
"album": mock_entry_to_dict["title"],
|
|
"album_sanitized": mock_entry_to_dict["title_sanitized"],
|
|
"album_year": mock_entry_to_dict["upload_year"],
|
|
"track_count": 1,
|
|
}
|
|
)
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_soundcloud_track_kwargs(mock_entry_kwargs, url):
|
|
return dict(mock_entry_kwargs, **{"url": url})
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_soundcloud_track(mock_soundcloud_track_kwargs):
|
|
return SoundcloudTrack(entry_dict=mock_soundcloud_track_kwargs, working_directory=".")
|
|
|
|
|
|
class TestSoundcloudTrack(object):
|
|
def test_to_dict(self, mock_soundcloud_track, mock_soundcloud_track_to_dict):
|
|
assert mock_soundcloud_track.to_dict() == mock_soundcloud_track_to_dict
|
|
|
|
def test_soundcloud_dict_contains_valid_formatters(
|
|
self, mock_soundcloud_track, validate_entry_dict_contains_valid_formatters
|
|
):
|
|
assert validate_entry_dict_contains_valid_formatters(mock_soundcloud_track)
|