1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
from unittest import mock
import pytest
from nikola.plugins.command.init import (
SAMPLE_CONF,
CommandInit,
format_default_translations_config,
)
from .helper import cd
def test_command_init_with_defaults(
init_command,
ask_questions,
copy_sample_site,
create_configuration,
create_empty_site,
):
init_command.execute()
assert ask_questions.called
assert create_configuration.called
assert not copy_sample_site.called
assert create_empty_site.called
def test_command_init_with_arguments(
init_command,
ask_questions,
copy_sample_site,
create_configuration,
create_empty_site,
):
arguments = dict(options={"demo": True, "quiet": True}, args=["destination"])
init_command.execute(**arguments)
assert not ask_questions.called
assert create_configuration.called
assert copy_sample_site.called
assert not create_empty_site.called
def test_init_called_without_target_quiet(
init_command,
ask_questions,
copy_sample_site,
create_configuration,
create_empty_site,
):
init_command.execute(**{"options": {"quiet": True}})
assert not ask_questions.called
assert not create_configuration.called
assert not copy_sample_site.called
assert not create_empty_site.called
def test_command_init_with_empty_dir(
init_command,
ask_questions,
copy_sample_site,
create_configuration,
create_empty_site,
):
init_command.execute(args=["destination"])
assert ask_questions.called
assert create_configuration.called
assert not copy_sample_site.called
assert create_empty_site.called
def test_configure_translations_without_additional_languages():
"""
Testing the configuration of the translation when no additional language has been found.
"""
translations_cfg = format_default_translations_config(set())
assert SAMPLE_CONF["TRANSLATIONS"] == translations_cfg
def test_configure_translations_with_2_additional_languages():
"""
Testing the configuration of the translation when two additional languages are given.
"""
translations_cfg = format_default_translations_config(set(["es", "en"]))
assert translations_cfg == """{
DEFAULT_LANG: "",
"en": "./en",
"es": "./es",
}"""
@pytest.fixture
def init_command(
tmpdir, ask_questions, copy_sample_site, create_configuration, create_empty_site
):
with mock.patch(
"nikola.plugins.command.init.CommandInit.ask_questions", ask_questions
):
with mock.patch(
"nikola.plugins.command.init.CommandInit.copy_sample_site", copy_sample_site
):
with mock.patch(
"nikola.plugins.command.init.CommandInit.create_configuration",
create_configuration,
):
with mock.patch(
"nikola.plugins.command.init.CommandInit.create_empty_site",
create_empty_site,
):
with cd(str(tmpdir)):
yield CommandInit()
@pytest.fixture
def ask_questions():
return mock.MagicMock()
@pytest.fixture
def copy_sample_site():
return mock.MagicMock()
@pytest.fixture
def create_configuration():
return mock.MagicMock()
@pytest.fixture
def create_empty_site():
return mock.MagicMock()
|