22from  app .core .extractors  import  extract_text_and_save_to_db 
33from  app .models  import  Document 
44
5+ # def test_extract_text_and_save_to_db_success() -> None: 
6+ #     fake_text = "Extracted text content" 
7+ #     fake_s3_url = "s3://bucket/path/to/file.pdf" 
8+ #     fake_doc_id = "123e4567-e89b-12d3-a456-426614174000" 
9+ 
10+ #     # Mock document object 
11+ #     mock_document = Document(id=fake_doc_id) 
12+     
13+ #     with patch("app.core.extractors.extract_text_from_file", return_value=fake_text) as extract_mock, \ 
14+ #          patch("app.core.extractors.Session") as session_class_mock: 
15+ 
16+ #         # Mock session and query chain 
17+ #         session_instance = MagicMock() 
18+ #         session_class_mock.return_value.__enter__.return_value = session_instance 
19+ #         session_instance.query.return_value.filter.return_value.first.return_value = mock_document 
20+ 
21+ #         # Run the function 
22+ #         extract_text_and_save_to_db(fake_s3_url, fake_doc_id) 
23+ 
24+ #         # Assertions 
25+ #         extract_mock.assert_called_once_with(fake_s3_url) 
26+ #         session_instance.query.assert_called_once() 
27+ #         assert mock_document.extracted_text == fake_text 
28+ #         session_instance.commit.assert_called_once() 
29+ 
530def  test_extract_text_and_save_to_db_success () ->  None :
631    fake_text  =  "Extracted text content" 
732    fake_s3_url  =  "s3://bucket/path/to/file.pdf" 
833    fake_doc_id  =  "123e4567-e89b-12d3-a456-426614174000" 
934
10-     # Mock document object 
1135    mock_document  =  Document (id = fake_doc_id )
12-      
36+ 
1337    with  patch ("app.core.extractors.extract_text_from_file" , return_value = fake_text ) as  extract_mock , \
1438         patch ("app.core.extractors.Session" ) as  session_class_mock :
1539
16-         # Mock session and query chain  
40+         # Mock session context manager  
1741        session_instance  =  MagicMock ()
1842        session_class_mock .return_value .__enter__ .return_value  =  session_instance 
19-         session_instance .query .return_value .filter .return_value .first .return_value  =  mock_document 
43+ 
44+         # Mock session.exec(...).first() 
45+         mock_exec_result  =  MagicMock ()
46+         mock_exec_result .first .return_value  =  mock_document 
47+         session_instance .exec .return_value  =  mock_exec_result 
2048
2149        # Run the function 
2250        extract_text_and_save_to_db (fake_s3_url , fake_doc_id )
2351
2452        # Assertions 
2553        extract_mock .assert_called_once_with (fake_s3_url )
26-         session_instance .query .assert_called_once ()
54+         session_instance .exec .assert_called_once ()
2755        assert  mock_document .extracted_text  ==  fake_text 
2856        session_instance .commit .assert_called_once ()
0 commit comments