import pytest from pydantic import ValidationError from apps.payments.api.schemas import CreatePaymentIn, DiscountCodeWriteSchema pytestmark = pytest.mark.unit def test_payment_request_requires_event_and_description(): with pytest.raises(ValidationError): CreatePaymentIn(event_id=1) payload = CreatePaymentIn(event_id=1, description="Workshop") assert payload.discount_code is None def test_discount_write_defaults_to_active_percentage_code(): payload = DiscountCodeWriteSchema(code="SAVE", value=10) assert payload.type == "percent" assert payload.is_active assert payload.applicable_event_ids == []