@@ -66,6 +66,7 @@ public class AIApiTest extends TestClient {
6666 private static final String AI_PROMPT_COMPLETION_DOWNLOAD = "%s/users/%d/ai/prompts/%d/completions/%s/download" ;
6767 private static final String PROXY_CHAT = "%s/users/%d/ai/providers/%d/chat/completions" ;
6868 private static final String LIST_SUPPORTED_AI_PROVIDER_MODELS = "%s/users/%d/ai/providers/supported-models" ;
69+ private static final String AI_TRANSLATE_STRING = "%s/users/%d/ai/translate" ;
6970
7071 @ Override
7172 public List <RequestMock > getMocks () {
@@ -106,7 +107,8 @@ public List<RequestMock> getMocks() {
106107 RequestMock .build (String .format (AI_PROMPT , this .url , userId , aiPromptId ), HttpDelete .METHOD_NAME ),
107108 RequestMock .build (String .format (AI_PROMPT , this .url , userId , aiPromptId ), HttpPatch .METHOD_NAME , "api/ai/editPromptRequest.json" , "api/ai/promptResponse.json" ),
108109 RequestMock .build (String .format (PROXY_CHAT , this .url , userId , aiPromptId ), HttpPost .METHOD_NAME , "api/ai/proxyChatCompletionRequest.json" , "api/ai/proxyChatCompletionResponse.json" ),
109- RequestMock .build (String .format (LIST_SUPPORTED_AI_PROVIDER_MODELS , this .url , userId ), HttpGet .METHOD_NAME , "api/ai/listSupportedAiProviderModels.json" )
110+ RequestMock .build (String .format (LIST_SUPPORTED_AI_PROVIDER_MODELS , this .url , userId ), HttpGet .METHOD_NAME , "api/ai/listSupportedAiProviderModels.json" ),
111+ RequestMock .build (String .format (AI_TRANSLATE_STRING , this .url , userId ), HttpPost .METHOD_NAME , "api/ai/aiTranslateRequest.json" , "api/ai/aiTranslateResponse.json" )
110112 );
111113 }
112114
@@ -531,4 +533,25 @@ public void listSupportedAiProviderModelsTest() {
531533 assertTrue (response .getData ().get (0 ).getData ().getModalities ().getOutput ().getImage ());
532534 assertEquals (0.1 , response .getData ().get (0 ).getData ().getPrice ().getInput ());
533535 }
536+
537+ @ Test
538+ public void aiTranslateStringsTest () {
539+ AiTranslateRequest request = new AiTranslateRequest ();
540+ request .setStrings (Collections .singletonList ("Some text to translate!" ));
541+ request .setSourceLanguageId ("en" );
542+ request .setTargetLanguageId ("uk" );
543+ request .setTmIds (Collections .singletonList (123L ));
544+ request .setGlossaryIds (Collections .singletonList (456L ));
545+ request .setAiPromptId (789L );
546+ request .setAiProviderId (12L );
547+ request .setAiModelId ("gpt-4.1" );
548+ request .setInstructions (Collections .singletonList ("Keep a formal tone" ));
549+ request .setAttachmentIds (Collections .singletonList (123L ));
550+ ResponseObject <AiTranslate > response = this .getAiApi ().aiTranslateStrings (userId , request );
551+
552+ assertEquals ("en" , response .getData ().getSourceLanguageId ());
553+ assertEquals ("uk" , response .getData ().getTargetLanguageId ());
554+ assertEquals (2 , response .getData ().getTranslations ().size ());
555+ assertEquals ("Перекладений текст 1" , response .getData ().getTranslations ().get (0 ));
556+ }
534557}
0 commit comments