You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
831 B
35 lines
831 B
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
|