Untitled

 avatar
unknown
plain_text
a year ago
2.7 kB
4
Indexable
from pro_filer.actions.main_actions import show_preview  # NOQA


def test_show_preview(capsys):
    context = {
        "all_files": [
            "src/__init__.py",
            "src/app.py",
            "src/utils/__init__.py",
            "sample/foo/foo.py",
            "sample/bar/bar.py",
        ],
        "all_dirs": ["src", "src/utils", "sample", "sample/foo", "sample/bar"],
    }

    show_preview(context)

    assert context["all_files"] == [
        "src/__init__.py",
        "src/app.py",
        "src/utils/__init__.py",
        "sample/foo/foo.py",
        "sample/bar/bar.py",
    ]
    assert context["all_dirs"] == [
        "src",
        "src/utils",
        "sample",
        "sample/foo",
        "sample/bar",
    ]
    assert len(context["all_files"]) == 5
    assert len(context["all_dirs"]) == 5

    context_message = (
        f"Found 5 files and 5 directories\n"
        f"First 5 files: ['src/__init__.py', 'src/app.py', 'src/utils/__init__.py', 'sample/foo/foo.py', 'sample/bar/bar.py']\n"
        f"First 5 directories: ['src', 'src/utils', 'sample', 'sample/foo', 'sample/bar']\n"
    )

    captured = capsys.readouterr()

    assert captured.out == context_message


def test_show_preview_with_empty_context(capsys):
    context = {"all_files": [], "all_dirs": []}

    show_preview(context)

    assert context["all_files"] == []
    assert context["all_dirs"] == []
    assert len(context["all_files"]) == 0
    assert len(context["all_dirs"]) == 0

    context_message = f"Found 0 files and 0 directories\n"

    captured = capsys.readouterr()

    assert captured.out == context_message


def test_show_preview_with_more_than_5_files_and_dirs(capsys):
    context = {
        "all_files": [
            "src/__init__.py",
            "src/app.py",
            "src/utils/__init__.py",
            "src/utils/other.py",
            "src/utils/other2.py",
            "src/utils/other3.py",
        ],
        "all_dirs": ["src", "src/utils"],
    }

    show_preview(context)

    assert context["all_files"] == [
        "src/__init__.py",
        "src/app.py",
        "src/utils/__init__.py",
        "src/utils/other.py",
        "src/utils/other2.py",
        "src/utils/other3.py",
    ]
    assert context["all_dirs"] == ["src", "src/utils"]
    assert len(context["all_files"]) == 6
    assert len(context["all_dirs"]) == 2

    context_message = (
        f"Found 6 files and 2 directories\n"
        f"First 5 files: ['src/__init__.py', 'src/app.py', 'src/utils/__init__.py', 'src/utils/other.py', 'src/utils/other2.py']\n"
        f"First 5 directories: ['src', 'src/utils']\n"
    )

    captured = capsys.readouterr()

    assert captured.out == context_message
Editor is loading...
Leave a Comment