hs3-baza-zasobow-dashboard/tests/fixtures.py

49 lines
1.2 KiB
Python
Raw Normal View History

import os
from typing import Callable
import pytest
from labeler.domain.objects import Dimension, MediaDefinition
@pytest.fixture
def current_dir(request) -> str:
return os.path.dirname(request.module.__file__)
@pytest.fixture
def get_test_image(current_dir) -> Callable[[str], bytes]:
def f(name):
return open(os.path.join(current_dir, "test_images", name), "rb").read()
return f
@pytest.fixture
def save_test_image(current_dir) -> Callable[[str, bytes], None]:
def f(name: str, data: bytes):
open(os.path.join(current_dir, "test_images", name), "wb").write(data)
return f
@pytest.fixture
def create_test_media() -> Callable[[int, int, int, int, int], MediaDefinition]:
def f(
width: int,
height: int,
dpi: int = 600,
margin_horizontal: int = 0,
margin_vertical: int = 0,
):
return MediaDefinition(
width=Dimension(mm=width),
length=Dimension(mm=height),
minimal_margin_horizontal=Dimension(mm=margin_horizontal),
minimal_margin_vertical=Dimension(mm=margin_vertical),
dpi=dpi,
description=f"test media {width}mm x{height}mm @ {dpi}dpi",
)
return f