diff --git a/freqtrade/commands/data_commands.py b/freqtrade/commands/data_commands.py index ac150efa6..4932ffd3f 100644 --- a/freqtrade/commands/data_commands.py +++ b/freqtrade/commands/data_commands.py @@ -14,6 +14,7 @@ from freqtrade.data.history import download_data_main from freqtrade.enums import CandleType, RunMode, TradingMode from freqtrade.exceptions import ConfigurationError from freqtrade.exchange import timeframe_to_minutes +from freqtrade.misc import plural from freqtrade.plugins.pairlist.pairlist_helpers import dynamic_expand_pairlist from freqtrade.resolvers import ExchangeResolver from freqtrade.util import print_rich_table @@ -194,7 +195,7 @@ def start_list_trades_data(args: Dict[str, Any]) -> None: if args["pairs"]: paircombs = [comb for comb in paircombs if comb in args["pairs"]] - title = f"Found trades data for {len(paircombs)} pairs." + title = f"Found trades data for {len(paircombs)} {plural(len(paircombs), "pair")}." if not config.get("show_timerange"): print_rich_table( [(pair, config.get("candle_type_def", CandleType.SPOT)) for pair in sorted(paircombs)], diff --git a/tests/commands/test_commands.py b/tests/commands/test_commands.py index 687bff69f..5332014d2 100644 --- a/tests/commands/test_commands.py +++ b/tests/commands/test_commands.py @@ -1692,6 +1692,53 @@ def test_start_list_data(testdatadir, capsys): ) +def test_start_list_trades_data(testdatadir, capsys): + args = [ + "list-data", + "--datadir", + str(testdatadir), + "--trades", + ] + pargs = get_args(args) + pargs["config"] = None + start_list_data(pargs) + captured = capsys.readouterr() + assert "Found trades data for 1 pair." in captured.out + assert re.search(r".*Pair.*Type.*\n", captured.out) + assert re.search(r"\n.* XRP/ETH .* spot |\n", captured.out) + + args = [ + "list-data", + "--datadir", + str(testdatadir), + "--trades", + "--show-timerange", + ] + pargs = get_args(args) + pargs["config"] = None + start_list_data(pargs) + captured = capsys.readouterr() + assert "Found trades data for 1 pair." in captured.out + assert re.search(r".*Pair.*Type.*From.*To.*Trades.*\n", captured.out) + assert re.search( + r"\n.* XRP/ETH .* spot .* 2019-10-11 00:00:01 .* 2019-10-13 11:19:28 .* 12477 .*|\n", + captured.out, + ) + + args = [ + "list-data", + "--datadir", + str(testdatadir), + "--trades", + "--show-timerange", + ] + pargs = get_args(args) + pargs["config"] = None + start_list_data(pargs) + captured = capsys.readouterr() + assert "Found trades data for 0 pair." in captured.out + + @pytest.mark.usefixtures("init_persistence") def test_show_trades(mocker, fee, capsys, caplog): mocker.patch("freqtrade.persistence.init_db")