35 lines
831 B
Python
35 lines
831 B
Python
from pathlib import Path
|
|
|
|
import pytest
|
|
import srsly
|
|
from typer.testing import CliRunner
|
|
|
|
from weasel import app
|
|
|
|
EXAMPLES = [
|
|
(dict(title="Test"), False),
|
|
(dict(title="Test", spacy_version=""), True),
|
|
(dict(title="Test", spacy_version="3.4.1"), True),
|
|
]
|
|
|
|
|
|
@pytest.fixture
|
|
def project_dir(tmp_path: Path):
|
|
path = tmp_path / "project"
|
|
path.mkdir()
|
|
yield path
|
|
|
|
|
|
@pytest.mark.parametrize("conf,should_warn", EXAMPLES)
|
|
def test_project_document(project_dir: Path, conf, should_warn):
|
|
config = srsly.yaml_dumps(conf)
|
|
|
|
(project_dir / "project.yml").write_text(config)
|
|
|
|
result = CliRunner().invoke(app, ["document", str(project_dir)])
|
|
assert result.exit_code == 0
|
|
assert (
|
|
"Your project configuration file includes a `spacy_version` key, "
|
|
in result.output
|
|
) is should_warn
|