@@ -67,3 +67,33 @@ def test_falls_back_to_chatgpt_if_no_title_found(self, mock_openAI):
6767 title .generate_title (doc )
6868
6969 self .assertTrue (mock_openAI .called )
70+
71+ @patch ("api.services.openai_services.openAIServices.openAI" )
72+ def test_strips_quotes_from_openai_title (self , mock_openAI ):
73+ doc = MagicMock ()
74+ doc .metadata = {"title" : None }
75+ doc .get_text .return_value = []
76+
77+ mock_response = MagicMock ()
78+ mock_response .choices = [MagicMock ()]
79+ mock_response .choices [0 ].message .content = '"Updated CANMAT/ISBD Guidelines for Treating Mixed Features in Bipolar Disorder"'
80+ mock_openAI .return_value = mock_response
81+
82+ result = title .generate_title (doc )
83+
84+ self .assertEqual (result , "Updated CANMAT/ISBD Guidelines for Treating Mixed Features in Bipolar Disorder" )
85+
86+ @patch ("api.services.openai_services.openAIServices.openAI" )
87+ def test_truncates_long_openai_title (self , mock_openAI ):
88+ doc = MagicMock ()
89+ doc .metadata = {"title" : None }
90+ doc .get_text .return_value = []
91+
92+ mock_response = MagicMock ()
93+ mock_response .choices = [MagicMock ()]
94+ mock_response .choices [0 ].message .content = "A" * 300
95+ mock_openAI .return_value = mock_response
96+
97+ result = title .generate_title (doc )
98+
99+ self .assertLessEqual (len (result ), 255 )
0 commit comments