| 12345678910111213141516171819 |
- """预签约日期不应到数据库 CHAR(8) 字段才失败。"""
- import pytest
- from pydantic import ValidationError
- from app.api.presign_order import PresignOrderBody
- @pytest.mark.parametrize('field', ['orderDate', 'expectedDeliveryDate'])
- @pytest.mark.parametrize('value', ['2026-10-15', '2026101', '20261301', '20260230', 'abcdefgh'])
- def test_invalid_presign_date_rejected_before_database(field, value):
- with pytest.raises(ValidationError):
- PresignOrderBody(**{field: value})
- @pytest.mark.parametrize('field', ['orderDate', 'expectedDeliveryDate'])
- @pytest.mark.parametrize('value', ['20261015', '20240229', '', None])
- def test_valid_or_empty_presign_date_keeps_existing_contract(field, value):
- body = PresignOrderBody(**{field: value})
- assert body.model_dump(by_alias=True)[field] == value
|