[verified] fix exam auto-map duplicate continued parts
api-ci-deploy / test-build-deploy (push) Has been cancelled
api-ci-deploy / test-build-deploy (push) Has been cancelled
(cherry picked from commit 31c51cb7aa)
This commit is contained in:
@@ -595,6 +595,27 @@ def test_box_to_canvas_uses_cropbox_as_page_origin():
|
||||
assert templates_mod._box_to_canvas(box, 1, pages) == {"x": 0.0, "y": 25.0, "w": 80.0, "h": 40.0}
|
||||
|
||||
|
||||
def test_auto_map_deduplicates_continued_part_labels(monkeypatch):
|
||||
monkeypatch.setattr(templates_mod, "_pdf_page_geometry", lambda _pdf: [
|
||||
{"media_x0": 0.0, "crop_x0": 0.0, "crop_y0": 0.0, "page_pt_w": 600.0, "page_pt_h": 800.0, "rendered_w": 600.0, "rendered_h": 800.0, "page_top": 0.0},
|
||||
{"media_x0": 0.0, "crop_x0": 0.0, "crop_y0": 0.0, "page_pt_w": 600.0, "page_pt_h": 800.0, "rendered_w": 600.0, "rendered_h": 800.0, "page_top": 800.0},
|
||||
])
|
||||
first_pass = _first_pass_template()
|
||||
first_pass["meta"]["n_pages"] = 2
|
||||
first_pass["pages"]["2"] = {
|
||||
"role": "question", "role_source": "auto", "margins_enabled": True,
|
||||
"main_bands": [],
|
||||
"part_bands": [{"label": "01.1", "question": "01", "y_start": 760, "y_end": 600, "label_box": {"l": 50, "t": 760, "r": 90, "b": 740, "coord_origin": "BOTTOMLEFT"}, "source": "auto", "confirmed": False}],
|
||||
"furniture": [], "figures": [], "tables": [],
|
||||
}
|
||||
|
||||
rows = templates_mod._map_first_pass_to_rows("t1", first_pass, b"%PDF", [])
|
||||
|
||||
question_ids = [q["id"] for q in rows["questions"]]
|
||||
assert len(question_ids) == len(set(question_ids))
|
||||
assert [q["label"] for q in rows["questions"]].count("01.1") == 1
|
||||
|
||||
|
||||
def test_response_region_types_are_mapped_to_response_form_enum(monkeypatch):
|
||||
monkeypatch.setattr(templates_mod, "_pdf_page_geometry", lambda _pdf: [{"media_x0": 0.0, "crop_x0": 0.0, "crop_y0": 0.0, "page_pt_w": 600.0, "page_pt_h": 800.0, "rendered_w": 600.0, "rendered_h": 800.0, "page_top": 0.0}])
|
||||
first_pass = _first_pass_template()
|
||||
|
||||
Reference in New Issue
Block a user