11package com .crowdin .client .translationstatus ;
22
33import com .crowdin .client .core .model .ResponseList ;
4+ import com .crowdin .client .core .model .ResponseObject ;
45import com .crowdin .client .framework .RequestMock ;
56import com .crowdin .client .framework .TestClient ;
67import com .crowdin .client .translationstatus .model .FileBranchProgress ;
78import com .crowdin .client .translationstatus .model .LanguageProgress ;
89import com .crowdin .client .translationstatus .model .QaCheck ;
10+ import com .crowdin .client .translationstatus .model .QaCheckRevalidation ;
11+ import com .crowdin .client .translationstatus .model .QaCheckRevalidationRequest ;
12+ import org .apache .http .client .methods .HttpDelete ;
913import org .apache .http .client .methods .HttpGet ;
14+ import org .apache .http .client .methods .HttpPost ;
1015import org .junit .jupiter .api .Test ;
1116
1217import java .util .Arrays ;
18+ import java .util .Calendar ;
19+ import java .util .Collections ;
20+ import java .util .Date ;
1321import java .util .List ;
1422
1523import static org .junit .jupiter .api .Assertions .assertEquals ;
1624
1725public class TranslationStatusApiTest extends TestClient {
1826
1927 private final Long projectId = 2L ;
28+ private final String revalidationId = "b5215a34-1305-4b21-8054-fc2eb252842f" ;
2029 private final Long branchId = 3L ;
2130 private final Long directoryId = 4L ;
2231 private final Long fileId = 5L ;
@@ -30,7 +39,10 @@ public List<RequestMock> getMocks() {
3039 RequestMock .build (this .url + "/projects/" + projectId + "/files/" + fileId + "/languages/progress" , HttpGet .METHOD_NAME , "api/translationstatus/fileProgress.json" ),
3140 RequestMock .build (this .url + "/projects/" + projectId + "/languages/" + languageId + "/progress" , HttpGet .METHOD_NAME , "api/translationstatus/languageProgress.json" ),
3241 RequestMock .build (this .url + "/projects/" + projectId + "/languages/progress" , HttpGet .METHOD_NAME , "api/translationstatus/projectProgress.json" ),
33- RequestMock .build (this .url + "/projects/" + projectId + "/qa-checks" , HttpGet .METHOD_NAME , "api/translationstatus/listQaChecks.json" )
42+ RequestMock .build (this .url + "/projects/" + projectId + "/qa-checks" , HttpGet .METHOD_NAME , "api/translationstatus/listQaChecks.json" ),
43+ RequestMock .build (this .url + "/projects/" + projectId + "/qa-checks/revalidate/" + revalidationId , HttpGet .METHOD_NAME , "api/translationstatus/qaChecksRevalidation.json" ),
44+ RequestMock .build (this .url + "/projects/" + projectId + "/qa-checks/revalidate" , HttpPost .METHOD_NAME , "api/translationstatus/qaChecksRevalidationRequest.json" ,"api/translationstatus/qaChecksRevalidation.json" ),
45+ RequestMock .build (this .url + "/projects/" + projectId + "/qa-checks/revalidate/" + revalidationId , HttpDelete .METHOD_NAME )
3446 );
3547 }
3648
@@ -80,4 +92,37 @@ public void listQaCheckIssuesTest() {
8092 assertEquals (qaCheckResponseList .getData ().size (), 1 );
8193 assertEquals (qaCheckResponseList .getData ().get (0 ).getData ().getLanguageId (), languageId );
8294 }
95+
96+ @ Test
97+ public void getQaChecksRevalidationStatusTest () {
98+ ResponseObject <QaCheckRevalidation > qaCheckRevalidationResponseObject = this .getTranslationStatusApi ().getQaChecksRevalidationStatus (projectId , revalidationId );
99+ assertEquals (qaCheckRevalidationResponseObject .getData ().getStatus (), "created" );
100+ assertEquals (qaCheckRevalidationResponseObject .getData ().getProgress (), 0L );
101+ assertEquals (qaCheckRevalidationResponseObject .getData ().getAttributes ().getLanguageIds (), Arrays .asList ("uk" , "fr" ));
102+ assertEquals (qaCheckRevalidationResponseObject .getData ().getAttributes ().getFailedOnly (), false );
103+ Date createdDate = new Date (2025 - 1900 , Calendar .SEPTEMBER , 23 , 11 , 51 , 8 );
104+ assertEquals (qaCheckRevalidationResponseObject .getData ().getCreatedAt (), createdDate );
105+ }
106+
107+ @ Test
108+ public void revalidateQaChecksTest () {
109+ QaCheckRevalidationRequest request = new QaCheckRevalidationRequest ();
110+ request .setLanguageIds (Arrays .asList ("uk" , "fr" ));
111+ request .setQaCheckCategories (Collections .singletonList ("ai" ));
112+ request .setFailedOnly (true );
113+ ResponseObject <QaCheckRevalidation > qaCheckRevalidationResponseObject = this .getTranslationStatusApi ().revalidateQaChecks (projectId , request );
114+ assertEquals (qaCheckRevalidationResponseObject .getData ().getIdentifier (), revalidationId );
115+ assertEquals (qaCheckRevalidationResponseObject .getData ().getStatus (), "created" );
116+ assertEquals (qaCheckRevalidationResponseObject .getData ().getProgress (), 0L );
117+ assertEquals (qaCheckRevalidationResponseObject .getData ().getAttributes ().getLanguageIds (), Arrays .asList ("uk" , "fr" ));
118+ assertEquals (qaCheckRevalidationResponseObject .getData ().getAttributes ().getQaCheckCategories (), Collections .singletonList ("ai" ));
119+ assertEquals (qaCheckRevalidationResponseObject .getData ().getAttributes ().getFailedOnly (), false );
120+ Date createdDate = new Date (2025 - 1900 , Calendar .SEPTEMBER , 23 , 11 , 51 , 8 );
121+ assertEquals (qaCheckRevalidationResponseObject .getData ().getCreatedAt (), createdDate );
122+ }
123+
124+ @ Test
125+ public void cancelQaChecksRevalidationTest () {
126+ this .getTranslationStatusApi ().cancelQaChecksRevalidation (projectId , revalidationId );
127+ }
83128}
0 commit comments