| Total Complexity | 3 |
| Total Lines | 36 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | import os |
||
| 2 | import subprocess |
||
| 3 | |||
| 4 | import mock |
||
| 5 | import pytest |
||
| 6 | from click.testing import CliRunner |
||
| 7 | |||
| 8 | from music_album_creation.create_album import main |
||
| 9 | |||
| 10 | |||
| 11 | class TestCreateAlbum: |
||
| 12 | |||
| 13 | def test_launching(self): |
||
| 14 | ro = subprocess.run(['create-album', '--help'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
||
| 15 | assert ro.returncode == 0 |
||
| 16 | |||
| 17 | @pytest.fixture(scope='module') |
||
| 18 | def integration_data(): |
||
| 19 | return "Music library: /media/kostas/freeagent/m\nLogo\n" |
||
| 20 | |||
| 21 | @mock.patch('music_album_creation.create_album.inout') |
||
| 22 | def test_integration(mock_inout, integration_data): |
||
| 23 | |||
| 24 | runner = CliRunner() |
||
| 25 | mock_inout.logo.return_value = 'Logo' |
||
| 26 | mock_inout.input_youtube_url_dialog.return_value = 'https://www.youtube.com/watch?v=Wjrrgrvq1ew' |
||
| 27 | mock_inout.interactive_track_info_input_dialog.return_value = \ |
||
| 28 | '1. Gasoline - 0:00' \ |
||
| 29 | '2. Man vs. God - 0:15' |
||
| 30 | mock_inout.track_information_type_dialog.return_value = 'Timestamps' |
||
| 31 | mock_inout.album_directory_path_dialog.return_value = os.path.join(os.environ['MUSIC_LIB_ROOT'], 'Planet_of_Zeus/Faith_in_Science') |
||
| 32 | mock_inout.interactive_metadata_dialogs.return_value = {'artist': 'Planet of Zeus', 'album-artist': 'Planet of Zeus', 'album': 'Faith in Science', 'year': '2019'} |
||
| 33 | |||
| 34 | result = runner.invoke(main, []) |
||
| 35 | assert result.exit_code == 0 |
||
| 36 |