kindle-zotero_importer/tests/test_overrides.py
2026-09-18 18:54:25 +02:00

26 lines
1.2 KiB
Python

from kindle_zotero_importer.overrides import load_overrides, OverrideError
def test_ignore_only():
payload = {"format":"kindle-zotero-importer.match-overrides.v1","overrides":[{"clipping_title":"A","resolution":{"ignore":True},"review":{}}]}
assert load_overrides(payload)["A"] == {"ignore": True}
def test_ignore_with_other_fails():
payload = {"format":"kindle-zotero-importer.match-overrides.v1","overrides":[{"clipping_title":"A","resolution":{"ignore":True,"citation_key":"foo"},"review":{}}]}
try:
load_overrides(payload)
assert False, "should have raised"
except OverrideError:
pass
def test_single_field_ok():
for res in [{"citation_key":"foo"},{"zotero_key":"ABC12345"},{"zotero_item_id":12}]:
payload = {"format":"kindle-zotero-importer.match-overrides.v1","overrides":[{"clipping_title":"A","resolution":res,"review":{}}]}
assert "A" in load_overrides(payload)
def test_multi_field_fails():
payload = {"format":"kindle-zotero-importer.match-overrides.v1","overrides":[{"clipping_title":"A","resolution":{"citation_key":"a","zotero_key":"b"},"review":{}}]}
try:
load_overrides(payload)
assert False
except OverrideError:
pass