Private
Public Access
0
0

test(collection_order): add red tests for opt-in sort_items_by_order

This commit is contained in:
2026-06-08 00:47:03 -04:00
parent e07036ad5d
commit 6287005ad1
+37
View File
@@ -0,0 +1,37 @@
from pathlib import Path
import pytest
def test_no_op_without_registry(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
monkeypatch.chdir(tmp_path)
(tmp_path / "test_zz.py").write_text(
"def test_b(): pass\ndef test_a(): pass\n", encoding="utf-8"
)
from pytest_collection_order import sort_items_by_order
items = []
result = sort_items_by_order(items, registry_path=tmp_path / "reg.toml")
assert result == items
def test_sorts_by_order_index(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
monkeypatch.chdir(tmp_path)
(tmp_path / "test_zz.py").write_text(
"def test_b(): pass\ndef test_a(): pass\n", encoding="utf-8"
)
reg = tmp_path / "reg.toml"
reg.write_text(
"[[files.test_zz.test_order]]\n"
"test_id = 'test_zz::test_b'\n"
"order = 1\n"
"[[files.test_zz.test_order]]\n"
"test_id = 'test_zz::test_a'\n"
"order = 2\n",
encoding="utf-8",
)
class _Item:
def __init__(self, nodeid: str) -> None:
self.nodeid = nodeid
def __repr__(self) -> str:
return f"_Item({self.nodeid!r})"
items = [_Item("test_zz::test_b"), _Item("test_zz::test_a")]
from pytest_collection_order import sort_items_by_order
result = sort_items_by_order(items, registry_path=reg)
assert [i.nodeid for i in result] == ["test_zz::test_b", "test_zz::test_a"]