Skip to content

Commit bb887c5

Browse files
committed
test
1 parent 3cf651a commit bb887c5

7 files changed

Lines changed: 166 additions & 29 deletions

src/test/java/com/crowdin/client/translations/TranslationsApiTest.java

Lines changed: 64 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,9 @@
11
package com.crowdin.client.translations;
22

3-
import com.crowdin.client.core.model.DownloadLink;
4-
import com.crowdin.client.core.model.PatchOperation;
5-
import com.crowdin.client.core.model.PatchRequest;
6-
import com.crowdin.client.core.model.ResponseList;
7-
import com.crowdin.client.core.model.ResponseObject;
3+
import com.crowdin.client.core.model.*;
84
import com.crowdin.client.framework.RequestMock;
95
import com.crowdin.client.framework.TestClient;
10-
import com.crowdin.client.translations.model.ApplyPreTranslationRequest;
11-
import com.crowdin.client.translations.model.ApplyPreTranslationStringsBasedRequest;
12-
import com.crowdin.client.translations.model.AutoApproveOption;
13-
import com.crowdin.client.translations.model.BuildProjectDirectoryTranslationRequest;
14-
import com.crowdin.client.translations.model.BuildProjectFileTranslationRequest;
15-
import com.crowdin.client.translations.model.CharTransformation;
16-
import com.crowdin.client.translations.model.CrowdinTranslationCraeteProjectPseudoBuildForm;
17-
import com.crowdin.client.translations.model.CrowdinTranslationCreateProjectBuildForm;
18-
import com.crowdin.client.translations.model.CrowdinTranslationCreateProjectPseudoBuildForm;
19-
import com.crowdin.client.translations.model.ExportProjectTranslationRequest;
20-
import com.crowdin.client.translations.model.Method;
21-
import com.crowdin.client.translations.model.PreTranslation;
22-
import com.crowdin.client.translations.model.PreTranslationStatus;
23-
import com.crowdin.client.translations.model.ProjectBuild;
24-
import com.crowdin.client.translations.model.UploadTranslationsRequest;
25-
import com.crowdin.client.translations.model.UploadTranslationsResponse;
26-
import com.crowdin.client.translations.model.UploadTranslationsStringsRequest;
27-
import com.crowdin.client.translations.model.UploadTranslationsStringsResponse;
28-
import com.crowdin.client.translations.model.PreTranslationReportResponse;
29-
6+
import com.crowdin.client.translations.model.*;
307
import org.apache.http.client.methods.HttpDelete;
318
import org.apache.http.client.methods.HttpGet;
329
import org.apache.http.client.methods.HttpPatch;
@@ -53,6 +30,8 @@ public class TranslationsApiTest extends TestClient {
5330
private final Long storageId = 14L;
5431
private final Long buildId = 2L;
5532
private final String link = "test.com";
33+
private final String importId = "import-123";
34+
private final String importIdStringsBased = "import-strings-123";
5635

5736
@Override
5837
public List<RequestMock> getMocks() {
@@ -73,8 +52,14 @@ public List<RequestMock> getMocks() {
7352
RequestMock.build(String.format("%s/projects/%d/translations/exports", this.url, projectId), HttpPost.METHOD_NAME, "api/translations/exportProjectTranslationRequest.json", "api/translations/exportProjectTranslationResponse.json"),
7453
RequestMock.build(this.url + "/projects/" + projectId + "/pre-translations", HttpGet.METHOD_NAME, "api/translations/listPreTranslations.json"),
7554
RequestMock.build(this.url + "/projects/" + projectId + "/pre-translations/" + preTranslationId, HttpPatch.METHOD_NAME, "api/translations/editPreTranslationRequest.json", "api/translations/editPreTranslationResponse.json"),
76-
RequestMock.build(this.url + "/projects/" + projectId + "/pre-translations/" + preTranslationId + "/report", HttpGet.METHOD_NAME, "api/translations/preTranslationReportResponse.json")
77-
);
55+
RequestMock.build(this.url + "/projects/" + projectId + "/pre-translations/" + preTranslationId + "/report", HttpGet.METHOD_NAME, "api/translations/preTranslationReportResponse.json"),
56+
RequestMock.build(this.url + "/projects/" + projectId + "/translations/imports", HttpPost.METHOD_NAME, "api/translations/importTranslationsRequest.json", "api/translations/importTranslationsResponse.json"),
57+
RequestMock.build(this.url + "/projects/" + projectId + "/translations/imports", HttpPost.METHOD_NAME, "api/translations/importTranslationsStringsBasedRequest.json", "api/translations/importTranslationsStringsBasedResponse.json"),
58+
RequestMock.build(this.url + "/projects/" + projectId + "/translations/imports/" + importId, HttpGet.METHOD_NAME, "api/translations/importTranslationsResponse.json"),
59+
RequestMock.build(this.url + "/projects/" + projectId + "/translations/imports/" + importIdStringsBased, HttpGet.METHOD_NAME, "api/translations/importTranslationsStringsBasedResponse.json"),
60+
RequestMock.build(this.url + "/projects/" + projectId + "/translations/imports/" + importId + "/report", HttpGet.METHOD_NAME, "api/translations/importTranslationsReportResponse.json"),
61+
RequestMock.build(this.url + "/projects/" + projectId + "/translations/imports/" + importIdStringsBased + "/report", HttpGet.METHOD_NAME, "api/translations/importTranslationsStringsBasedReportResponse.json")
62+
);
7863
}
7964

8065
@Test
@@ -270,7 +255,7 @@ public void editPreTranslationTest() {
270255
assertEquals(language, preTranslationResponseObject.getData().getAttributes().getLanguageIds().get(0));
271256
assertEquals(fileId, preTranslationResponseObject.getData().getAttributes().getFileIds().get(0));
272257
}
273-
258+
274259
@Test
275260
public void getPreTranslationReportTest() {
276261
ResponseObject<PreTranslationReportResponse> response = this.getTranslationsApi().getPreTranslationReport(projectId, preTranslationId);
@@ -296,7 +281,57 @@ public void getPreTranslationReportTest() {
296281
assertEquals(6, skipped.get("ai_error"));
297282

298283
Map<String, Integer> skippedQaCheckCategories = language.getSkippedQaCheckCategories();
299-
assertEquals(1, skippedQaCheckCategories.get("duplicate"));
284+
assertEquals(1, skippedQaCheckCategories.get("duplicate"));
300285
assertEquals(1, skippedQaCheckCategories.get("spellcheck"));
301286
}
287+
288+
@Test
289+
public void importTranslationsTest() {
290+
ImportTranslationsRequest request = new ImportTranslationsRequest();
291+
request.setStorageId(storageId);
292+
request.setFileId(fileId);
293+
request.setTranslateHidden(true);
294+
request.setLanguageIds(singletonList("uk"));
295+
ResponseObject<ImportTranslationsStatus> importTranslationsStatusResponseObject = this.getTranslationsApi().importTranslations(projectId, request);
296+
assertEquals(importId, importTranslationsStatusResponseObject.getData().getIdentifier());
297+
}
298+
299+
@Test
300+
public void importTranslationStringsBasedTest() {
301+
ImportTranslationsStringsBasedRequest request = new ImportTranslationsStringsBasedRequest();
302+
request.setStorageId(storageId);
303+
request.setBranchId(branchId);
304+
request.setAddToTm(true);
305+
request.setLanguageIds(singletonList("es"));
306+
ResponseObject<ImportTranslationsStringsBasedStatus> importTranslationsStringsBasedStatusResponseObject = this.getTranslationsApi().importTranslations(projectId, request);
307+
assertEquals(importIdStringsBased, importTranslationsStringsBasedStatusResponseObject.getData().getIdentifier());
308+
}
309+
310+
@Test
311+
public void importTranslationsStatusTest() {
312+
ResponseObject<ImportTranslationsStatus> importTranslationsStatusResponseObject = this.getTranslationsApi().importTranslationsStatus(projectId, importId);
313+
assertEquals(importId, importTranslationsStatusResponseObject.getData().getIdentifier());
314+
}
315+
316+
@Test
317+
public void importTranslationStringsBasedStatusTest() {
318+
ResponseObject<ImportTranslationsStringsBasedStatus> importTranslationsStringsBasedStatusResponseObject = this.getTranslationsApi().importTranslationsStringsBasedStatus(projectId, importIdStringsBased);
319+
assertEquals(importIdStringsBased, importTranslationsStringsBasedStatusResponseObject.getData().getIdentifier());
320+
}
321+
322+
@Test
323+
public void getImportTranslationsReportTest() {
324+
ResponseObject<ImportTranslationsReportResponse> response = this.getTranslationsApi().importTranslationsReport(projectId, importId);
325+
assertEquals(1, response.getData().getLanguages().size());
326+
assertEquals(1, response.getData().getLanguages().get(0).getFiles().size());
327+
assertEquals(fileId, response.getData().getLanguages().get(0).getFiles().get(0).getId());
328+
}
329+
330+
@Test
331+
public void getImportTranslationStringsBasedReportTest() {
332+
ResponseObject<ImportTranslationsStringsBasedReportResponse> response = this.getTranslationsApi().importTranslationsStringsBasedReport(projectId, importIdStringsBased);
333+
assertEquals(1, response.getData().getLanguages().size());
334+
assertEquals(1, response.getData().getLanguages().get(0).getBranches().size());
335+
assertEquals(branchId, response.getData().getLanguages().get(0).getBranches().get(0).getId());
336+
}
302337
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"data": {
3+
"languages": [
4+
{
5+
"id": "uk",
6+
"files": [
7+
{
8+
"id": 2,
9+
"statistics": {
10+
"phrases": 10,
11+
"words": 24
12+
}
13+
}
14+
],
15+
"skipped": {
16+
"translation_eq_source": 1,
17+
"qa_check": 0
18+
},
19+
"skippedQaCheckCategories": {
20+
"duplicate": 0,
21+
"spellcheck": 0
22+
}
23+
}
24+
]
25+
}
26+
}
27+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"storageId": 14,
3+
"fileId": 2,
4+
"translateHidden": true,
5+
"languageIds": ["uk"]
6+
}
7+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"data": {
3+
"identifier": "import-123",
4+
"status": "in_progress",
5+
"progress": 10,
6+
"attributes": {
7+
"storageId": 14,
8+
"fileId": 2,
9+
"importEqSuggestions": true,
10+
"autoApproveImported": false,
11+
"translateHidden": true,
12+
"addToTm": false,
13+
"languageIds": ["uk"]
14+
}
15+
}
16+
}
17+
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"data": {
3+
"languages": [
4+
{
5+
"id": "uk",
6+
"branches": [
7+
{
8+
"id": 211,
9+
"statistics": {
10+
"phrases": 10,
11+
"words": 24
12+
}
13+
}
14+
],
15+
"skipped": {
16+
"translation_eq_source": 1,
17+
"qa_check": 0
18+
},
19+
"skippedQaCheckCategories": {
20+
"duplicate": 0,
21+
"spellcheck": 0
22+
}
23+
}
24+
]
25+
}
26+
}
27+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"storageId": 14,
3+
"branchId": 211,
4+
"addToTm": true,
5+
"languageIds": ["es"]
6+
}
7+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"data": {
3+
"identifier": "import-strings-123",
4+
"status": "ok",
5+
"progress": 100,
6+
"attributes": {
7+
"storageId": 14,
8+
"branchId": 211,
9+
"importEqSuggestions": false,
10+
"autoApproveImported": true,
11+
"translateHidden": true,
12+
"addToTm": true,
13+
"languageIds": ["es"]
14+
}
15+
}
16+
}
17+

0 commit comments

Comments
 (0)