Skip to content

Commit 1b36d2f

Browse files
committed
PA-655 Updated output of Website.get for multiple domains, by: Giles, Piotr
1 parent d110366 commit 1b36d2f

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

cli/website.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,17 +66,17 @@ def get(
6666
],
6767
tablefmt="simple",
6868
)
69-
typer.echo(table)
7069
else:
7170
websites = website.list()
72-
typer.echo(
73-
snakesay(
74-
f"You have {len(websites)} website(s). "
75-
)
76-
)
77-
typer.echo(
78-
pformat(websites)
71+
table = tabulate(
72+
[
73+
[website_info["domain_name"], website_info["enabled"]]
74+
for website_info in websites
75+
],
76+
headers=["domain name", "enabled"],
77+
tablefmt="simple"
7978
)
79+
typer.echo(table)
8080

8181

8282
@app.command()

tests/test_cli_website.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,19 +102,29 @@ def test_create_with_domain_and_command_creates_it(mocker):
102102

103103
def test_get_with_no_domain_lists_websites(mocker, website_info):
104104
mock_website = mocker.patch("cli.website.Website")
105-
mock_website.return_value.list.return_value = [website_info]
105+
second_website_info = {"domain_name": "blah.com", "enabled": False}
106+
mock_website.return_value.list.return_value = [website_info, second_website_info]
107+
mock_tabulate = mocker.patch("cli.website.tabulate")
108+
mock_echo = mocker.patch("cli.website.typer.echo")
106109

107110
result = runner.invoke(
108111
app,
109112
[
110113
"get",
111114
],
112115
)
116+
113117
assert result.exit_code == 0
114118
mock_website.return_value.list.assert_called_once()
115-
assert "You have 1 website(s). " in result.stdout
116-
assert "foo.bar.com" in result.stdout
117-
119+
assert mock_tabulate.call_args == call(
120+
[
121+
[website_info["domain_name"], website_info["enabled"]],
122+
[second_website_info["domain_name"], second_website_info["enabled"]],
123+
],
124+
headers=["domain name", "enabled"],
125+
tablefmt="simple",
126+
)
127+
mock_echo.assert_called_once_with(mock_tabulate.return_value)
118128

119129
def test_get_with_domain_gives_details_for_domain(mocker, website_info, domain_name):
120130
mock_website = mocker.patch("cli.website.Website")

0 commit comments

Comments
 (0)