Coverage for tests/conftest.py: 100%
19 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-30 23:02 +0000
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-30 23:02 +0000
1"""Shared fixtures and helper classes for unit tests."""
3from __future__ import annotations
5import dataclasses
6from collections.abc import Iterator
8import pytest
10from bunches import settings
13@dataclasses.dataclass
14class Something:
15 """Item with a `name` attribute."""
17 name: str = 'something'
20@dataclasses.dataclass
21class Another:
22 """Item with a different `name` attribute."""
24 name: str = 'another'
27class Unnamed:
28 """Item without a `name` attribute."""
31@pytest.fixture(autouse = True)
32def _reset_settings() -> Iterator[None]:
33 """Restores the global settings after each test."""
34 namer = settings._KEY_NAMER
35 subset_return = settings._SUBSET_RETURN
36 yield
37 settings._KEY_NAMER = namer
38 settings._SUBSET_RETURN = subset_return