GildedRose-Refactoring-Kata/venv/Lib/site-packages/approvaltests/pytest/py_test_namer.py

31 lines
969 B
Python

import os
from typing import Dict
from _pytest.fixtures import FixtureRequest
from approvaltests.namer.namer_base import NamerBase
class PyTestNamer(NamerBase):
"Pass a pytest 'request' to the constructor. You get one of those as a pytest fixture"
def __init__(self, request: FixtureRequest, extension: None = None) -> None:
NamerBase.__init__(self, extension)
self.request = request
self.filepath, self.filename = os.path.split(str(self.request.fspath))
self.config: Dict[str, str] = {}
subdir = self.request.config.getoption(
"approvaltests_subdirectory", default=None
)
if subdir:
self.config["subdirectory"] = subdir
def get_file_name(self) -> str:
return f"{os.path.splitext(self.filename)[0]}.{self.request.node.name}"
def get_directory(self) -> str:
return self.filepath
def get_config(self) -> Dict[str, str]:
return self.config