Passed
Push — dev ( ed36f9...ede60a )
by Konstantinos
05:48 queued 58s
created

TestCreateAlbum.test_executable()   A

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
nop 1
dl 0
loc 2
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1 1
import os
2 1
import subprocess
3
4 1
import mock
5 1
import pytest
6 1
from click.testing import CliRunner
7 1
from music_album_creation.create_album import main
8
9
10 1
class TestCreateAlbum:
11 1
    def test_executable(self):
12 1
        assert subprocess.call(['create-album', '--help']) == 0
13
14
15 1
@pytest.fixture(scope='module')
16
def integration_data():
17
    return "Music library: /media/kostas/freeagent/m\nLogo\n"
18
19 1
@mock.patch('music_album_creation.create_album.inout')
20 1
@mock.patch('music_album_creation.create_album.music_lib_directory')
21
def test_integration(mock_music_lib_directory, mock_inout, tmpdir, integration_data):
22
    target_directory = str(tmpdir.mkdir('temp-music-library'))
23
    runner = CliRunner()
24
    mock_music_lib_directory.return_value = target_directory
25
    mock_inout.input_youtube_url_dialog.return_value = 'https://www.youtube.com/watch?v=Wjrrgrvq1ew'
26
    mock_inout.interactive_track_info_input_dialog.return_value = \
27
        '1.  Gasoline - 0:00\n' \
28
        '2.  Man vs. God - 0:10\n'
29
    mock_inout.track_information_type_dialog.return_value = 'Timestamps'
30
    mock_inout.album_directory_path_dialog.return_value = os.path.join(target_directory, 'del/Faith_in_Science')
31
    mock_inout.interactive_metadata_dialogs.return_value = {'artist': 'del', 'album-artist': 'del', 'album': 'Faith in Science', 'year': '2019'}
32
33
    result = runner.invoke(main, [])
34
    print("CAP\n{}\nCAP".format(result.output))
35
    # captured = capsys.readouterr()
36
    assert result.exit_code == 0
37