mattzh72--articraft
26 行
850 B
Python
26 行
850 B
Python
from __future__ import annotations
|
|
|
|
import pytest
|
|
|
|
from storage.identifiers import validate_category_slug, validate_record_id
|
|
|
|
|
|
def test_validate_category_slug_accepts_lowercase_snake_case() -> None:
|
|
assert validate_category_slug("desk_lamp_2") == "desk_lamp_2"
|
|
|
|
|
|
@pytest.mark.parametrize("value", ["DeskLamp", "desk-lamp", "", None])
|
|
def test_validate_category_slug_rejects_invalid_values(value: str | None) -> None:
|
|
with pytest.raises(ValueError):
|
|
validate_category_slug(value)
|
|
|
|
|
|
def test_validate_record_id_accepts_rec_prefix() -> None:
|
|
assert validate_record_id("rec_desk-lamp.001") == "rec_desk-lamp.001"
|
|
|
|
|
|
@pytest.mark.parametrize("value", ["lamp_001", "rec bad", "", None])
|
|
def test_validate_record_id_rejects_invalid_values(value: str | None) -> None:
|
|
with pytest.raises(ValueError):
|
|
validate_record_id(value)
|