"""Spotify parsing logic test.""" import pytest from unittest.mock import MagicMock from unittest.mock import patch from src.spotify_parser import ParsingError from src import spotify_parser @patch('src.spotify_parser.requests') def test_successful_parsing_artist_name( requests_mock, mock_artist_page ): """Test parsing artist name.""" expected_name = 'King Crimson' requests_mock.get.return_value = MagicMock(text=mock_artist_page) result = spotify_parser.get_artist_name('url') assert result == expected_name @patch('src.spotify_parser.requests') def test_failure_parsing_empty_artist_name( requests_mock, mock_artist_page_empty_name ): """Test failure parsing empty artist name.""" requests_mock.get.return_value = MagicMock( text=mock_artist_page_empty_name ) with pytest.raises(ParsingError) as e: spotify_parser.get_artist_name('url') assert str(e.value) == ( "('Parsing artist name is failed.'," " 'Block was parsed, but the data is empty.')" )