Untitled

 avatar
unknown
plain_text
a year ago
2.4 kB
7
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