mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
plots: json: show even if no results
Related: iterative/vscode-dvc#1521
This commit is contained in:
@@ -21,8 +21,7 @@ def _show_json(renderers, split=False):
|
||||
result = {
|
||||
renderer.name: to_json(renderer, split) for renderer in renderers
|
||||
}
|
||||
if result:
|
||||
ui.write_json(result)
|
||||
ui.write_json(result)
|
||||
|
||||
|
||||
class CmdPlots(CmdBase):
|
||||
|
||||
@@ -336,3 +336,30 @@ def test_plots_templates_choices(tmp_dir, dvc):
|
||||
assert CmdPlotsTemplates.TEMPLATES_CHOICES == list(
|
||||
pluck_attr("DEFAULT_NAME", TEMPLATES)
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("split", (True, False))
|
||||
def test_show_json(split, mocker, capsys):
|
||||
import dvc.commands.plots
|
||||
|
||||
renderer = mocker.MagicMock()
|
||||
renderer.name = "rname"
|
||||
to_json_mock = mocker.patch(
|
||||
"dvc.render.convert.to_json", return_value={"renderer": "json"}
|
||||
)
|
||||
|
||||
dvc.commands.plots._show_json([renderer], split)
|
||||
|
||||
to_json_mock.assert_called_once_with(renderer, split)
|
||||
|
||||
out, _ = capsys.readouterr()
|
||||
assert json.dumps({"rname": {"renderer": "json"}}) in out
|
||||
|
||||
|
||||
def test_show_json_no_renderers(capsys):
|
||||
import dvc.commands.plots
|
||||
|
||||
dvc.commands.plots._show_json([])
|
||||
|
||||
out, _ = capsys.readouterr()
|
||||
assert json.dumps({}) in out
|
||||
|
||||
Reference in New Issue
Block a user