potodo/tests/test_potodo.py

70 lines
2.0 KiB
Python

import json
from potodo.potodo import exec_potodo
def test_txt_output(capsys, base_config):
exec_potodo(**base_config)
captured = capsys.readouterr()
assert "file1.po" in captured.out
assert "file2.po" in captured.out
assert "# folder" in captured.out
assert "file3.po" in captured.out
assert "1 fuzzy" in captured.out
assert "2 fuzzy" not in captured.out
assert "excluded" not in captured.out
def test_output(capsys, base_config, repo_dir):
base_config["json_format"] = True
exec_potodo(**base_config)
output = json.loads(capsys.readouterr().out)
expected = [
{
"name": "folder/",
"percent_translated": 0.0,
"files": [
{
"name": "folder/file3",
"path": f"{repo_dir}/folder/file3.po",
"entries": 1,
"fuzzies": 0,
"translated": 0,
"percent_translated": 0,
"reserved_by": None,
"reservation_date": None,
},
],
},
{
"name": "repository/",
"percent_translated": 25.0,
"files": [
{
"name": "repository/file1",
"path": f"{repo_dir}/file1.po",
"entries": 3,
"fuzzies": 1,
"translated": 1,
"percent_translated": 33,
"reserved_by": None,
"reservation_date": None,
},
{
"name": "repository/file2",
"path": f"{repo_dir}/file2.po",
"entries": 1,
"fuzzies": 0,
"translated": 0,
"percent_translated": 0,
"reserved_by": None,
"reservation_date": None,
},
],
},
]
assert output == expected