rendercv/tests/conftest.py

86 lines
1.7 KiB
Python
Raw Normal View History

2024-02-06 20:18:46 +00:00
import pathlib
2024-02-09 19:32:58 +00:00
from typing import Type
2024-02-06 20:18:46 +00:00
2024-02-09 19:14:46 +00:00
import jinja2
2024-02-06 20:18:46 +00:00
import pytest
2024-02-09 19:14:46 +00:00
from rendercv import data_models as dm
import rendercv.renderer as r
2024-02-07 18:18:49 +00:00
2024-02-06 20:18:46 +00:00
@pytest.fixture
def publication_entry() -> dict[str, str | list[str]]:
return {
"title": "My Title",
"authors": ["John Doe", "Jane Doe"],
"doi": "10.1109/TASC.2023.3340648",
"date": "2023-12-08",
}
@pytest.fixture
def experience_entry() -> dict[str, str]:
return {
"company": "CERN",
"position": "Researcher",
}
@pytest.fixture
def education_entry() -> dict[str, str]:
return {
"institution": "Boğaziçi University",
"area": "Mechanical Engineering",
2024-02-11 22:08:32 +00:00
"degree": "BS",
2024-02-06 20:18:46 +00:00
}
@pytest.fixture
def normal_entry() -> dict[str, str]:
return {
"name": "My Entry",
}
@pytest.fixture
def one_line_entry() -> dict[str, str]:
return {
"name": "My One Line Entry",
"details": "My Details",
}
@pytest.fixture
def text_entry() -> str:
return "My Text Entry"
2024-02-09 19:32:58 +00:00
@pytest.fixture
2024-02-14 18:50:00 +00:00
def rendercv_data_model() -> dm.RenderCVDataModel:
return dm.get_a_sample_data_model()
2024-02-09 19:14:46 +00:00
@pytest.fixture
def jinja2_environment() -> jinja2.Environment:
return r.setup_jinja2_environment()
2024-02-06 20:18:46 +00:00
@pytest.fixture
def tests_directory_path() -> pathlib.Path:
return pathlib.Path(__file__).parent
@pytest.fixture
def root_directory_path(tests_directory_path) -> pathlib.Path:
return tests_directory_path.parent
@pytest.fixture
2024-02-07 18:18:49 +00:00
def reference_files_directory_path(tests_directory_path) -> pathlib.Path:
return tests_directory_path / "reference_files"
@pytest.fixture
def input_file_path(reference_files_directory_path) -> pathlib.Path:
return reference_files_directory_path / "John_Doe_CV.yaml"