kin: auto-commit after pipeline
This commit is contained in:
parent
710b284e3f
commit
f1c868e335
3 changed files with 490 additions and 2 deletions
|
|
@ -1173,3 +1173,78 @@ def test_get_decisions_empty_tags_differs_from_none(conn):
|
|||
|
||||
assert len(result_empty) == 0, "tags=[] должен давать 0 результатов"
|
||||
assert len(result_none) == 2, "tags=None должен давать все 2 результата"
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Углублённое исследование: дополнительные edge cases get_decisions с []
|
||||
# Задача KIN-P1-001 revision — оба параметра пустые, пустой проект, decisions без тегов
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def test_get_decisions_both_types_and_tags_empty_returns_empty(conn):
|
||||
"""types=[] + tags=[] одновременно — должен вернуть 0 результатов.
|
||||
|
||||
Ранний возврат по types=[] должен сработать до проверки tags=[], результат [].
|
||||
"""
|
||||
models.create_project(conn, "p1", "P1", "/p1")
|
||||
models.add_decision(conn, "p1", "gotcha", "Ловушка A", "desc", tags=["safari"])
|
||||
models.add_decision(conn, "p1", "decision", "Решение B", "desc", tags=["chrome"])
|
||||
|
||||
result = models.get_decisions(conn, "p1", types=[], tags=[])
|
||||
assert result == [], (
|
||||
f"types=[] + tags=[] должен вернуть [], получено {len(result)} записей"
|
||||
)
|
||||
|
||||
|
||||
def test_get_decisions_empty_types_with_tags_none_returns_empty(conn):
|
||||
"""types=[] при tags=None — ранний возврат по types, теги не проверяются → 0 результатов."""
|
||||
models.create_project(conn, "p1", "P1", "/p1")
|
||||
models.add_decision(conn, "p1", "gotcha", "Ловушка 1", "desc", tags=["safari"])
|
||||
|
||||
result = models.get_decisions(conn, "p1", types=[], tags=None)
|
||||
assert result == [], (
|
||||
f"types=[] должен дать ранний возврат [], даже когда tags=None, получено {len(result)} записей"
|
||||
)
|
||||
|
||||
|
||||
def test_get_decisions_empty_tags_with_types_none_returns_empty(conn):
|
||||
"""tags=[] при types=None — фильтр по тегам даёт ранний возврат → 0 результатов."""
|
||||
models.create_project(conn, "p1", "P1", "/p1")
|
||||
models.add_decision(conn, "p1", "gotcha", "Ловушка 1", "desc", tags=["safari"])
|
||||
|
||||
result = models.get_decisions(conn, "p1", types=None, tags=[])
|
||||
assert result == [], (
|
||||
f"tags=[] должен дать ранний возврат [], даже когда types=None, получено {len(result)} записей"
|
||||
)
|
||||
|
||||
|
||||
def test_get_decisions_empty_types_on_empty_project_returns_empty(conn):
|
||||
"""types=[] на проекте без решений — должен вернуть [] (ранний возврат, не обращение к пустой таблице)."""
|
||||
models.create_project(conn, "p1", "P1", "/p1")
|
||||
|
||||
result = models.get_decisions(conn, "p1", types=[])
|
||||
assert result == [], (
|
||||
f"types=[] на пустом проекте должен вернуть [], получено {result!r}"
|
||||
)
|
||||
|
||||
|
||||
def test_get_decisions_empty_tags_on_decisions_without_tags(conn):
|
||||
"""tags=[] при наличии decisions с tags=None — должен вернуть [] (не включать decisions без тегов)."""
|
||||
models.create_project(conn, "p1", "P1", "/p1")
|
||||
models.add_decision(conn, "p1", "decision", "Без тегов 1", "desc", tags=None)
|
||||
models.add_decision(conn, "p1", "gotcha", "Без тегов 2", "desc", tags=None)
|
||||
|
||||
result = models.get_decisions(conn, "p1", tags=[])
|
||||
assert result == [], (
|
||||
f"tags=[] должен вернуть [], даже если decisions имеют tags=None, получено {len(result)} записей"
|
||||
)
|
||||
|
||||
|
||||
def test_get_decisions_empty_types_with_category_ignores_category(conn):
|
||||
"""types=[] + category='ui' — ранний возврат по types=[], category не влияет → 0 результатов."""
|
||||
models.create_project(conn, "p1", "P1", "/p1")
|
||||
models.add_decision(conn, "p1", "gotcha", "UI ловушка", "desc", category="ui")
|
||||
|
||||
result = models.get_decisions(conn, "p1", types=[], category="ui")
|
||||
assert result == [], (
|
||||
f"types=[] должен давать ранний возврат [] независимо от category, получено {len(result)} записей"
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue