from datetime import date, timedelta import pytest from app import journal from app.storage import Vault @pytest.fixture def vault(tmp_path): v = Vault.create(tmp_path / "vault.fmdb", "pw") # По умолчанию адрес репозитория данных уже прописан, а тесты не должны # ходить в сеть и уж тем более трогать настоящий репозиторий. Проверки # синхронизации работают против локального bare-репо в test_gitsync. v.doc.settings.git.remote_url = "" v.doc.settings.git.enabled = False v.save(force=True) return v @pytest.fixture def buns(vault): """Три булки из примера пользователя, с фиксированными ценами поставщика.""" return { "повидло": journal.create_product(vault, "Булка с повидлом", cost_price=30, retail_price=50), "мак": journal.create_product(vault, "Булка с маком", cost_price=20, retail_price=35), "корица": journal.create_product(vault, "Булка с корицей", cost_price=25, retail_price=40), } @pytest.fixture def today(): return date.today() @pytest.fixture def in_two_weeks(today): return today + timedelta(days=14)