Skip to content
test_print.py 786 B
Newer Older
decentral1se's avatar
decentral1se committed
"""Print utilities test module."""

import click
decentral1se's avatar
decentral1se committed
from tabulate import tabulate
decentral1se's avatar
decentral1se committed


def test_success_print_handles_colour_toggling(mocker):
decentral1se's avatar
decentral1se committed
    from librehosters_cli.print import _success

    mocker.spy(click, 'secho')

    _success('foo', colour=False)
    assert not click.secho.called

    _success('foo', colour=True)
decentral1se's avatar
decentral1se committed
    click.secho.assert_called_once_with('foo', bold=True, fg='green')
decentral1se's avatar
decentral1se committed


def test_to_table(mocker):
    from librehosters_cli.print import _to_table

    mocker.spy(click, 'echo')

    _to_table([['c1', 'c2']], ['h1', 'h2'], True)
    click.echo.assert_called_with('c1 c2')

    table, headers = [['c1', 'c2']], ['h1', 'h2']
    output = tabulate(table, headers=headers, tablefmt='grid')
    _to_table(table, headers, False)
    click.echo.assert_called_with(output)