@@ -131,6 +131,36 @@ def test_long_pdf_returns_is_long_doc(self, kb_dir, tmp_path):
131131 assert result .raw_path is not None
132132
133133
134+ # ---------------------------------------------------------------------------
135+ # convert_document — MarkItDown-backed formats
136+ # ---------------------------------------------------------------------------
137+
138+
139+ class TestConvertDocumentMarkItDown :
140+ def test_docx_conversion_enables_keep_data_uris (self , kb_dir , tmp_path ):
141+ src = tmp_path / "report.docx"
142+ src .write_bytes (b"fake docx" )
143+
144+ mock_result = MagicMock ()
145+ mock_result .text_content = ""
146+
147+ with (
148+ patch ("openkb.converter.MarkItDown" ) as mock_markitdown ,
149+ patch ("openkb.converter.extract_base64_images" , return_value = "converted markdown" ) as mock_extract ,
150+ ):
151+ mock_markitdown .return_value .convert .return_value = mock_result
152+
153+ result = convert_document (src , kb_dir )
154+
155+ mock_markitdown .assert_called_once_with (keep_data_uris = True )
156+ mock_markitdown .return_value .convert .assert_called_once_with (str (src ))
157+ mock_extract .assert_called_once ()
158+ assert result .skipped is False
159+ assert result .is_long_doc is False
160+ assert result .source_path is not None
161+ assert result .source_path .read_text (encoding = "utf-8" ) == "converted markdown"
162+
163+
134164# ---------------------------------------------------------------------------
135165# _registry_path
136166# ---------------------------------------------------------------------------
0 commit comments