mirror of
https://github.com/hansjone/netx.git
synced 2026-10-09 00:50:46 +08:00
Store compare diffs in row table with server-side paging per sheet.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
33264d7b76
commit
499a5fec2e
8 changed files with 487 additions and 69 deletions
|
|
@ -125,5 +125,32 @@ class CompareEngineTests(unittest.TestCase):
|
|||
self.assertEqual(out["diffs"][0]["kind"], "unchanged")
|
||||
|
||||
|
||||
class CompareDiffPagingTests(unittest.TestCase):
|
||||
def test_filter_inline_diffs_kind_and_kw(self) -> None:
|
||||
from netx_api.biz_state.compare_service import _filter_inline_diffs
|
||||
|
||||
diffs = [
|
||||
{"kind": "added", "key": {"p": "1"}, "before": {}, "after": {"p": "1"}, "changes": {}},
|
||||
{"kind": "removed", "key": {"p": "2"}, "before": {"p": "2"}, "after": {}, "changes": {}},
|
||||
{"kind": "unchanged", "key": {"p": "3"}, "before": {"p": "3"}, "after": {"p": "3"}, "changes": {}},
|
||||
{
|
||||
"kind": "changed",
|
||||
"key": {"p": "4"},
|
||||
"before": {"x": "a"},
|
||||
"after": {"x": "b"},
|
||||
"changes": {"x": {"before": "a", "after": "b"}},
|
||||
},
|
||||
]
|
||||
only_diff = _filter_inline_diffs(diffs, kind="diff", kw="")
|
||||
self.assertEqual({d["kind"] for d in only_diff}, {"added", "removed", "changed"})
|
||||
only_added = _filter_inline_diffs(diffs, kind="added", kw="")
|
||||
self.assertEqual(len(only_added), 1)
|
||||
hit = _filter_inline_diffs(diffs, kind="all", kw='"p":"4"')
|
||||
self.assertEqual(len(hit), 1)
|
||||
self.assertEqual(hit[0]["kind"], "changed")
|
||||
hit2 = _filter_inline_diffs(diffs, kind="all", kw="changed")
|
||||
self.assertTrue(any(d["kind"] == "changed" for d in hit2))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue