From 9c2c4abb8650b039064e6d7820c846628a81a360 Mon Sep 17 00:00:00 2001 From: Dan Rose Date: Thu, 17 Sep 2020 17:21:11 -0500 Subject: [PATCH] Add test for noninteractive init --- poetry/console/commands/init.py | 3 ++- tests/console/commands/test_init.py | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/poetry/console/commands/init.py b/poetry/console/commands/init.py index dc042c95bc7..57f45c1e1cc 100644 --- a/poetry/console/commands/init.py +++ b/poetry/console/commands/init.py @@ -142,7 +142,8 @@ def handle(self): ) python = self.ask(question) - self.line("") + if self.io.is_interactive(): + self.line("") requirements = {} diff --git a/tests/console/commands/test_init.py b/tests/console/commands/test_init.py index 4ca7d44c44c..cd77286d660 100644 --- a/tests/console/commands/test_init.py +++ b/tests/console/commands/test_init.py @@ -45,6 +45,28 @@ def test_basic_interactive(app, mocker, poetry): assert expected in tester.io.fetch_output() +def test_noninteractive(app, mocker, poetry, repo, tmp_path): + command = app.find("init") + command._pool = poetry.pool + + repo.add_package(get_package("pytest", "3.6.0")) + + p = mocker.patch("poetry.utils._compat.Path.cwd") + p.return_value = tmp_path + + tester = CommandTester(command) + args = "--name my-package --dependency pytest" + tester.execute(args=args, interactive=False) + + expected = "Using version ^3.6.0 for pytest\n" + assert tester.io.fetch_output() == expected + assert "" == tester.io.fetch_error() + + toml_content = (tmp_path / "pyproject.toml").read_text() + assert 'name = "my-package"' in toml_content + assert 'pytest = "^3.6.0"' in toml_content + + def test_interactive_with_dependencies(app, repo, mocker, poetry): repo.add_package(get_package("django-pendulum", "0.1.6-pre4")) repo.add_package(get_package("pendulum", "2.0.0"))