smartling-api-sdk-nodejs 2.29.0 → 2.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/.github/workflows/publish.yml +29 -0
  2. package/README.md +13 -1
  3. package/api/files/params/file-type.ts +27 -1
  4. package/built/api/files/params/file-type.d.ts +27 -1
  5. package/built/api/files/params/file-type.js +26 -0
  6. package/built/api/files/params/file-type.js.map +1 -1
  7. package/built/package.json +1 -1
  8. package/built/test/access-token-provider.spec.d.ts +1 -0
  9. package/built/test/access-token-provider.spec.js +25 -0
  10. package/built/test/access-token-provider.spec.js.map +1 -0
  11. package/built/test/auth.spec.d.ts +1 -0
  12. package/built/test/auth.spec.js +332 -0
  13. package/built/test/auth.spec.js.map +1 -0
  14. package/built/test/base-file.spec.d.ts +1 -0
  15. package/built/test/base-file.spec.js +53 -0
  16. package/built/test/base-file.spec.js.map +1 -0
  17. package/built/test/base.spec.d.ts +1 -0
  18. package/built/test/base.spec.js +558 -0
  19. package/built/test/base.spec.js.map +1 -0
  20. package/built/test/builder.spec.d.ts +1 -0
  21. package/built/test/builder.spec.js +142 -0
  22. package/built/test/builder.spec.js.map +1 -0
  23. package/built/test/context.spec.d.ts +1 -0
  24. package/built/test/context.spec.js +154 -0
  25. package/built/test/context.spec.js.map +1 -0
  26. package/built/test/exception.spec.d.ts +1 -0
  27. package/built/test/exception.spec.js +20 -0
  28. package/built/test/exception.spec.js.map +1 -0
  29. package/built/test/file-translations.spec.d.ts +1 -0
  30. package/built/test/file-translations.spec.js +449 -0
  31. package/built/test/file-translations.spec.js.map +1 -0
  32. package/built/test/files.spec.d.ts +1 -0
  33. package/built/test/files.spec.js +489 -0
  34. package/built/test/files.spec.js.map +1 -0
  35. package/built/test/glossaries.spec.d.ts +1 -0
  36. package/built/test/glossaries.spec.js +182 -0
  37. package/built/test/glossaries.spec.js.map +1 -0
  38. package/built/test/job-batches.spec.d.ts +1 -0
  39. package/built/test/job-batches.spec.js +221 -0
  40. package/built/test/job-batches.spec.js.map +1 -0
  41. package/built/test/jobs.spec.d.ts +1 -0
  42. package/built/test/jobs.spec.js +357 -0
  43. package/built/test/jobs.spec.js.map +1 -0
  44. package/built/test/locales.spec.d.ts +1 -0
  45. package/built/test/locales.spec.js +66 -0
  46. package/built/test/locales.spec.js.map +1 -0
  47. package/built/test/mock.d.ts +18 -0
  48. package/built/test/mock.js +31 -0
  49. package/built/test/mock.js.map +1 -0
  50. package/built/test/mt.spec.d.ts +1 -0
  51. package/built/test/mt.spec.js +135 -0
  52. package/built/test/mt.spec.js.map +1 -0
  53. package/built/test/projects.spec.d.ts +1 -0
  54. package/built/test/projects.spec.js +87 -0
  55. package/built/test/projects.spec.js.map +1 -0
  56. package/built/test/published-files.spec.d.ts +1 -0
  57. package/built/test/published-files.spec.js +76 -0
  58. package/built/test/published-files.spec.js.map +1 -0
  59. package/built/test/report-api.spec.d.ts +1 -0
  60. package/built/test/report-api.spec.js +187 -0
  61. package/built/test/report-api.spec.js.map +1 -0
  62. package/built/test/stream-to-string.d.ts +4 -0
  63. package/built/test/stream-to-string.js +14 -0
  64. package/built/test/stream-to-string.js.map +1 -0
  65. package/built/test/strings.spec.d.ts +1 -0
  66. package/built/test/strings.spec.js +204 -0
  67. package/built/test/strings.spec.js.map +1 -0
  68. package/built/test/tags.spec.d.ts +1 -0
  69. package/built/test/tags.spec.js +423 -0
  70. package/built/test/tags.spec.js.map +1 -0
  71. package/built/test/webhooks.spec.d.ts +1 -0
  72. package/built/test/webhooks.spec.js +447 -0
  73. package/built/test/webhooks.spec.js.map +1 -0
  74. package/package.json +1 -1
  75. package/.scannerwork/.sonar_lock +0 -0
  76. package/.scannerwork/report-task.txt +0 -6
@@ -0,0 +1,357 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const sinon_1 = __importDefault(require("sinon"));
16
+ const mock_1 = require("./mock");
17
+ const order_1 = require("../api/parameters/order");
18
+ const list_jobs_parameters_1 = require("../api/jobs/params/list-jobs-parameters");
19
+ const index_1 = require("../api/jobs/index");
20
+ const file_progress_parameters_1 = require("../api/jobs/params/file-progress-parameters");
21
+ const create_job_parameters_1 = require("../api/jobs/params/create-job-parameters");
22
+ const list_job_files_parameters_1 = require("../api/jobs/params/list-job-files-parameters");
23
+ const job_status_1 = require("../api/jobs/params/job-status");
24
+ const remove_file_parameters_1 = require("../api/jobs/params/remove-file-parameters");
25
+ const job_progress_parameters_1 = require("../api/jobs/params/job-progress-parameters");
26
+ const cancel_job_parameters_1 = require("../api/jobs/params/cancel-job-parameters");
27
+ const close_job_parameters_1 = require("../api/jobs/params/close-job-parameters");
28
+ const add_file_parameters_1 = require("../api/jobs/params/add-file-parameters");
29
+ const authorize_job_parameters_1 = require("../api/jobs/params/authorize-job-parameters");
30
+ const update_job_parameters_1 = require("../api/jobs/params/update-job-parameters");
31
+ const callback_method_1 = require("../api/jobs/params/callback-method");
32
+ const add_strings_to_job_parameters_1 = require("../api/jobs/params/add-strings-to-job-parameters");
33
+ const remove_strings_from_job_parameters_1 = require("../api/jobs/params/remove-strings-from-job-parameters");
34
+ describe("SmartlingJobsAPI class tests.", () => {
35
+ const projectId = "testProjectId";
36
+ const jobUid = "testJobUid";
37
+ const fileUri = "testFileUri.json";
38
+ const sortByFieldName = "name";
39
+ let jobApi;
40
+ let jobServiceApiFetchStub;
41
+ let jobServiceApiUaStub;
42
+ let responseMockJsonStub;
43
+ beforeEach(() => {
44
+ jobApi = new index_1.SmartlingJobsApi("https://test.com", mock_1.authMock, mock_1.loggerMock);
45
+ jobServiceApiFetchStub = sinon_1.default.stub(jobApi, "fetch");
46
+ jobServiceApiUaStub = sinon_1.default.stub(jobApi, "ua");
47
+ responseMockJsonStub = sinon_1.default.stub(mock_1.responseMock, "json");
48
+ jobServiceApiUaStub.returns("test_user_agent");
49
+ jobServiceApiFetchStub.returns(mock_1.responseMock);
50
+ responseMockJsonStub.returns({
51
+ response: {}
52
+ });
53
+ });
54
+ afterEach(() => {
55
+ jobServiceApiFetchStub.restore();
56
+ responseMockJsonStub.restore();
57
+ jobServiceApiUaStub.restore();
58
+ });
59
+ describe("Methods", () => {
60
+ it("Create job", () => __awaiter(void 0, void 0, void 0, function* () {
61
+ const params = new create_job_parameters_1.CreateJobParameters();
62
+ params
63
+ .setName("Test job")
64
+ .setDescription("Test job description")
65
+ .setDueDate(new Date("2100-12-31T22:00:00.000Z"))
66
+ .setTargetLocaleIds(["pt-PT"])
67
+ .setCallbackUrl("testCallbackUrl");
68
+ yield jobApi.createJob(projectId, params);
69
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
70
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs`, {
71
+ body: "{\"jobName\":\"Test job\",\"description\":\"Test job description\",\"dueDate\":\"2100-12-31T22:00:00.000Z\",\"targetLocaleIds\":[\"pt-PT\"],\"callbackUrl\":\"testCallbackUrl\"}",
72
+ headers: {
73
+ Authorization: "test_token_type test_access_token",
74
+ "Content-Type": "application/json",
75
+ "User-Agent": "test_user_agent"
76
+ },
77
+ method: "post"
78
+ });
79
+ }));
80
+ it("Update job", () => __awaiter(void 0, void 0, void 0, function* () {
81
+ const params = new update_job_parameters_1.UpdateJobParameters()
82
+ .setName("Test job")
83
+ .setDescription("Test job description")
84
+ .setDueDate(new Date("2100-12-31T22:00:00.000Z"))
85
+ .setReferenceNumber("CustomerReferenceNumber1")
86
+ .setCallbackUrl("https://test-domain.com")
87
+ .setCallbackMethod(callback_method_1.CallbackMethod.GET)
88
+ .setCustomFields([
89
+ {
90
+ fieldUid: "testFieldUid",
91
+ fieldValue: "testFieldValue"
92
+ }
93
+ ]);
94
+ yield jobApi.updateJob(projectId, jobUid, params);
95
+ sinon_1.default.assert.calledOnceWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}`, {
96
+ method: "put",
97
+ headers: {
98
+ Authorization: "test_token_type test_access_token",
99
+ "Content-Type": "application/json",
100
+ "User-Agent": "test_user_agent"
101
+ },
102
+ body: JSON.stringify({
103
+ jobName: "Test job",
104
+ description: "Test job description",
105
+ dueDate: "2100-12-31T22:00:00.000Z",
106
+ referenceNumber: "CustomerReferenceNumber1",
107
+ callbackUrl: "https://test-domain.com",
108
+ callbackMethod: "GET",
109
+ customFields: [
110
+ {
111
+ fieldUid: "testFieldUid",
112
+ fieldValue: "testFieldValue"
113
+ }
114
+ ]
115
+ })
116
+ });
117
+ }));
118
+ it("Update job: reset fields", () => __awaiter(void 0, void 0, void 0, function* () {
119
+ const params = new update_job_parameters_1.UpdateJobParameters()
120
+ .setName("Test job")
121
+ .setDescription(null)
122
+ .setDueDate(null)
123
+ .setReferenceNumber(null)
124
+ .setCallbackUrl(null)
125
+ .setCallbackMethod(null)
126
+ .setCustomFields([]);
127
+ yield jobApi.updateJob(projectId, jobUid, params);
128
+ sinon_1.default.assert.calledOnceWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}`, {
129
+ method: "put",
130
+ headers: {
131
+ Authorization: "test_token_type test_access_token",
132
+ "Content-Type": "application/json",
133
+ "User-Agent": "test_user_agent"
134
+ },
135
+ body: JSON.stringify({
136
+ jobName: "Test job",
137
+ description: null,
138
+ dueDate: null,
139
+ referenceNumber: null,
140
+ callbackUrl: null,
141
+ callbackMethod: null,
142
+ customFields: []
143
+ })
144
+ });
145
+ }));
146
+ it("Get job", () => __awaiter(void 0, void 0, void 0, function* () {
147
+ yield jobApi.getJob(projectId, jobUid);
148
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
149
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}`, {
150
+ headers: {
151
+ Authorization: "test_token_type test_access_token",
152
+ "Content-Type": "application/json",
153
+ "User-Agent": "test_user_agent"
154
+ },
155
+ method: "get"
156
+ });
157
+ }));
158
+ it("Get job files", () => __awaiter(void 0, void 0, void 0, function* () {
159
+ const params = new list_job_files_parameters_1.ListJobFilesParameters();
160
+ params
161
+ .setOffset(10)
162
+ .setLimit(100);
163
+ yield jobApi.getJobFiles(projectId, jobUid, params);
164
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
165
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}/files?offset=10&limit=100`, {
166
+ headers: {
167
+ Authorization: "test_token_type test_access_token",
168
+ "Content-Type": "application/json",
169
+ "User-Agent": "test_user_agent"
170
+ },
171
+ method: "get"
172
+ });
173
+ }));
174
+ it("List jobs", () => __awaiter(void 0, void 0, void 0, function* () {
175
+ const params = new list_jobs_parameters_1.ListJobsParameters()
176
+ .setName("testName")
177
+ .setStatuses(job_status_1.JobStatus.AWAITING_AUTHORIZATION)
178
+ .setSort(sortByFieldName, order_1.Order.ASC)
179
+ .setLimit(100)
180
+ .setOffset(10);
181
+ yield jobApi.listJobs(projectId, params);
182
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
183
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs?jobName=testName&translationJobStatus=AWAITING_AUTHORIZATION&sortBy=name&sortDirection=ASC&limit=100&offset=10`, {
184
+ headers: {
185
+ Authorization: "test_token_type test_access_token",
186
+ "Content-Type": "application/json",
187
+ "User-Agent": "test_user_agent"
188
+ },
189
+ method: "get"
190
+ });
191
+ }));
192
+ it("Get job progress", () => __awaiter(void 0, void 0, void 0, function* () {
193
+ const params = new job_progress_parameters_1.JobProgressParameters();
194
+ params.setTargetLocaleId("fr-FR");
195
+ yield jobApi.getJobProgress(projectId, jobUid, params);
196
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
197
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}/progress?targetLocaleId=fr-FR`, {
198
+ headers: {
199
+ Authorization: "test_token_type test_access_token",
200
+ "Content-Type": "application/json",
201
+ "User-Agent": "test_user_agent"
202
+ },
203
+ method: "get"
204
+ });
205
+ }));
206
+ it("Get job file progress", () => __awaiter(void 0, void 0, void 0, function* () {
207
+ const params = new file_progress_parameters_1.FileProgressParameters();
208
+ params.setFileUri(fileUri);
209
+ yield jobApi.getJobFileProgress(projectId, jobUid, params);
210
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
211
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}/file/progress?fileUri=${encodeURIComponent(fileUri)}`, {
212
+ headers: {
213
+ Authorization: "test_token_type test_access_token",
214
+ "Content-Type": "application/json",
215
+ "User-Agent": "test_user_agent"
216
+ },
217
+ method: "get"
218
+ });
219
+ }));
220
+ it("Adds file to job", () => __awaiter(void 0, void 0, void 0, function* () {
221
+ const params = new add_file_parameters_1.AddFileParameters();
222
+ params.setFileUri(fileUri);
223
+ yield jobApi.addFileToJob(projectId, jobUid, params);
224
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
225
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}/file/add`, {
226
+ body: "{\"fileUri\":\"testFileUri.json\"}",
227
+ headers: {
228
+ Authorization: "test_token_type test_access_token",
229
+ "Content-Type": "application/json",
230
+ "User-Agent": "test_user_agent"
231
+ },
232
+ method: "post"
233
+ });
234
+ }));
235
+ it("Authorizes a job", () => __awaiter(void 0, void 0, void 0, function* () {
236
+ const params = new authorize_job_parameters_1.AuthorizeJobParameters();
237
+ yield jobApi.authorizeJob(projectId, jobUid, params);
238
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
239
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}/authorize`, {
240
+ body: "{}",
241
+ headers: {
242
+ Authorization: "test_token_type test_access_token",
243
+ "Content-Type": "application/json",
244
+ "User-Agent": "test_user_agent"
245
+ },
246
+ method: "post"
247
+ });
248
+ params.addLocaleWorkflows("fr", "wf1");
249
+ params.addLocaleWorkflows("de", "wf2");
250
+ yield jobApi.authorizeJob(projectId, jobUid, params);
251
+ sinon_1.default.assert.calledTwice(jobServiceApiFetchStub);
252
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}/authorize`, {
253
+ body: "{\"localeWorkflows\":[{\"targetLocaleId\":\"fr\",\"workflowUid\":\"wf1\"},{\"targetLocaleId\":\"de\",\"workflowUid\":\"wf2\"}]}",
254
+ headers: {
255
+ Authorization: "test_token_type test_access_token",
256
+ "Content-Type": "application/json",
257
+ "User-Agent": "test_user_agent"
258
+ },
259
+ method: "post"
260
+ });
261
+ }));
262
+ it("Remove file from job", () => __awaiter(void 0, void 0, void 0, function* () {
263
+ const params = new remove_file_parameters_1.RemoveFileParameters();
264
+ params.setFileUri(fileUri);
265
+ yield jobApi.removeFileFromJob(projectId, jobUid, params);
266
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
267
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}/file/remove`, {
268
+ body: "{\"fileUri\":\"testFileUri.json\"}",
269
+ headers: {
270
+ Authorization: "test_token_type test_access_token",
271
+ "Content-Type": "application/json",
272
+ "User-Agent": "test_user_agent"
273
+ },
274
+ method: "post"
275
+ });
276
+ }));
277
+ it("Cancel job", () => __awaiter(void 0, void 0, void 0, function* () {
278
+ const params = new cancel_job_parameters_1.CancelJobParameters();
279
+ params.setReason("Test reason");
280
+ yield jobApi.cancelJob(projectId, jobUid, params);
281
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
282
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}/cancel`, {
283
+ body: "{\"reason\":\"Test reason\"}",
284
+ headers: {
285
+ Authorization: "test_token_type test_access_token",
286
+ "Content-Type": "application/json",
287
+ "User-Agent": "test_user_agent"
288
+ },
289
+ method: "post"
290
+ });
291
+ }));
292
+ it("Close job", () => __awaiter(void 0, void 0, void 0, function* () {
293
+ const params = new close_job_parameters_1.CloseJobParameters();
294
+ yield jobApi.closeJob(projectId, jobUid, params);
295
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
296
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}/close`, {
297
+ body: "{}",
298
+ headers: {
299
+ Authorization: "test_token_type test_access_token",
300
+ "Content-Type": "application/json",
301
+ "User-Agent": "test_user_agent"
302
+ },
303
+ method: "post"
304
+ });
305
+ }));
306
+ it("Delete job", () => __awaiter(void 0, void 0, void 0, function* () {
307
+ yield jobApi.deleteJob(projectId, jobUid);
308
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
309
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}`, {
310
+ headers: {
311
+ Authorization: "test_token_type test_access_token",
312
+ "Content-Type": "application/json",
313
+ "User-Agent": "test_user_agent"
314
+ },
315
+ method: "delete"
316
+ });
317
+ }));
318
+ it("Add strings to job", () => __awaiter(void 0, void 0, void 0, function* () {
319
+ const params = new add_strings_to_job_parameters_1.AddStringsToJobParameters();
320
+ const testHashcodes = ["hash1", "hash2", "hash3"];
321
+ const testTargetLocaleIds = ["fr-FR", "de-DE"];
322
+ params.setHashcodes(testHashcodes)
323
+ .setMoveEnabled(true)
324
+ .setTargetLocaleIds(testTargetLocaleIds);
325
+ yield jobApi.addStringsToJob(projectId, jobUid, params);
326
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
327
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}/strings/add`, {
328
+ body: "{\"hashcodes\":[\"hash1\",\"hash2\",\"hash3\"],\"moveEnabled\":true,\"targetLocaleIds\":[\"fr-FR\",\"de-DE\"]}",
329
+ headers: {
330
+ Authorization: "test_token_type test_access_token",
331
+ "Content-Type": "application/json",
332
+ "User-Agent": "test_user_agent"
333
+ },
334
+ method: "post"
335
+ });
336
+ }));
337
+ it("Remove strings from job", () => __awaiter(void 0, void 0, void 0, function* () {
338
+ const params = new remove_strings_from_job_parameters_1.RemoveStringsFromJobParameters();
339
+ const testHashcodes = ["hash1", "hash2", "hash3"];
340
+ const testTargetLocaleIds = ["fr-FR", "de-DE"];
341
+ params.setHashcodes(testHashcodes)
342
+ .setTargetLocaleIds(testTargetLocaleIds);
343
+ yield jobApi.removeStringsFromJob(projectId, jobUid, params);
344
+ sinon_1.default.assert.calledOnce(jobServiceApiFetchStub);
345
+ sinon_1.default.assert.calledWithExactly(jobServiceApiFetchStub, `https://test.com/jobs-api/v3/projects/${projectId}/jobs/${jobUid}/strings/remove`, {
346
+ body: "{\"hashcodes\":[\"hash1\",\"hash2\",\"hash3\"],\"targetLocaleIds\":[\"fr-FR\",\"de-DE\"]}",
347
+ headers: {
348
+ Authorization: "test_token_type test_access_token",
349
+ "Content-Type": "application/json",
350
+ "User-Agent": "test_user_agent"
351
+ },
352
+ method: "post"
353
+ });
354
+ }));
355
+ });
356
+ });
357
+ //# sourceMappingURL=jobs.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.spec.js","sourceRoot":"","sources":["../../test/jobs.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iCAA4D;AAC5D,mDAAgD;AAChD,kFAA6E;AAC7E,6CAAqD;AACrD,0FAAqF;AAErF,oFAA+E;AAC/E,4FAAsF;AACtF,8DAA0D;AAC1D,sFAAiF;AACjF,wFAAmF;AACnF,oFAA+E;AAC/E,kFAA6E;AAC7E,gFAA2E;AAC3E,0FAAqF;AACrF,oFAA+E;AAC/E,wEAAoE;AACpE,oGAA6F;AAC7F,8GAAuG;AAEvG,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC3C,MAAM,SAAS,GAAG,eAAe,CAAC;IAClC,MAAM,MAAM,GAAG,YAAY,CAAC;IAC5B,MAAM,OAAO,GAAG,kBAAkB,CAAC;IACnC,MAAM,eAAe,GAAG,MAAM,CAAC;IAC/B,IAAI,MAAM,CAAC;IACX,IAAI,sBAAsB,CAAC;IAC3B,IAAI,mBAAmB,CAAC;IACxB,IAAI,oBAAoB,CAAC;IAEzB,UAAU,CAAC,GAAG,EAAE;QACZ,MAAM,GAAG,IAAI,wBAAgB,CAAC,kBAAkB,EAAE,eAAuC,EAAE,iBAAU,CAAC,CAAC;QACvG,sBAAsB,GAAG,eAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrD,mBAAmB,GAAG,eAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/C,oBAAoB,GAAG,eAAK,CAAC,IAAI,CAAC,mBAAY,EAAE,MAAM,CAAC,CAAC;QAExD,mBAAmB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC/C,sBAAsB,CAAC,OAAO,CAAC,mBAAY,CAAC,CAAC;QAC7C,oBAAoB,CAAC,OAAO,CAAC;YACzB,QAAQ,EAAE,EAAE;SACf,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,sBAAsB,CAAC,OAAO,EAAE,CAAC;QACjC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAC/B,mBAAmB,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,YAAY,EAAE,GAAS,EAAE;YACxB,MAAM,MAAM,GAAG,IAAI,2CAAmB,EAAE,CAAC;YAEzC,MAAM;iBACD,OAAO,CAAC,UAAU,CAAC;iBACnB,cAAc,CAAC,sBAAsB,CAAC;iBACtC,UAAU,CAAC,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;iBAChD,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC;iBAC7B,cAAc,CAAC,iBAAiB,CAAC,CAAC;YAEvC,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAE1C,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,OAAO,EACzD;gBACI,IAAI,EAAE,kLAAkL;gBACxL,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,MAAM;aACjB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,EAAE,GAAS,EAAE;YACxB,MAAM,MAAM,GAAG,IAAI,2CAAmB,EAAE;iBACnC,OAAO,CAAC,UAAU,CAAC;iBACnB,cAAc,CAAC,sBAAsB,CAAC;iBACtC,UAAU,CAAC,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;iBAChD,kBAAkB,CAAC,0BAA0B,CAAC;iBAC9C,cAAc,CAAC,yBAAyB,CAAC;iBACzC,iBAAiB,CAAC,gCAAc,CAAC,GAAG,CAAC;iBACrC,eAAe,CAAC;gBACb;oBACI,QAAQ,EAAE,cAAc;oBACxB,UAAU,EAAE,gBAAgB;iBAC/B;aACJ,CAAC,CAAC;YAEP,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAElD,eAAK,CAAC,MAAM,CAAC,qBAAqB,CAC9B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,EAAE,EACnE;gBACI,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,OAAO,EAAE,UAAU;oBACnB,WAAW,EAAE,sBAAsB;oBACnC,OAAO,EAAE,0BAA0B;oBACnC,eAAe,EAAE,0BAA0B;oBAC3C,WAAW,EAAE,yBAAyB;oBACtC,cAAc,EAAE,KAAK;oBACrB,YAAY,EAAE;wBACV;4BACI,QAAQ,EAAE,cAAc;4BACxB,UAAU,EAAE,gBAAgB;yBAC/B;qBACJ;iBACJ,CAAC;aACL,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAS,EAAE;YACtC,MAAM,MAAM,GAAG,IAAI,2CAAmB,EAAE;iBACnC,OAAO,CAAC,UAAU,CAAC;iBACnB,cAAc,CAAC,IAAI,CAAC;iBACpB,UAAU,CAAC,IAAI,CAAC;iBAChB,kBAAkB,CAAC,IAAI,CAAC;iBACxB,cAAc,CAAC,IAAI,CAAC;iBACpB,iBAAiB,CAAC,IAAI,CAAC;iBACvB,eAAe,CAAC,EAAE,CAAC,CAAC;YAEzB,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAElD,eAAK,CAAC,MAAM,CAAC,qBAAqB,CAC9B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,EAAE,EACnE;gBACI,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,OAAO,EAAE,UAAU;oBACnB,WAAW,EAAE,IAAI;oBACjB,OAAO,EAAE,IAAI;oBACb,eAAe,EAAE,IAAI;oBACrB,WAAW,EAAE,IAAI;oBACjB,cAAc,EAAE,IAAI;oBACpB,YAAY,EAAE,EAAE;iBACnB,CAAC;aACL,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,SAAS,EAAE,GAAS,EAAE;YACrB,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAEvC,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,EAAE,EACnE;gBACI,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,KAAK;aAChB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,eAAe,EAAE,GAAS,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,kDAAsB,EAAE,CAAC;YAE5C,MAAM;iBACD,SAAS,CAAC,EAAE,CAAC;iBACb,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEnB,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAEpD,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,4BAA4B,EAC7F;gBACI,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,KAAK;aAChB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,WAAW,EAAE,GAAS,EAAE;YACvB,MAAM,MAAM,GAAG,IAAI,yCAAkB,EAAE;iBAClC,OAAO,CAAC,UAAU,CAAC;iBACnB,WAAW,CAAC,sBAAS,CAAC,sBAAsB,CAAC;iBAC7C,OAAO,CAAC,eAAe,EAAE,aAAK,CAAC,GAAG,CAAC;iBACnC,QAAQ,CAAC,GAAG,CAAC;iBACb,SAAS,CAAC,EAAE,CAAC,CAAC;YAEnB,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAEzC,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,sHAAsH,EACxK;gBACI,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,KAAK;aAChB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,kBAAkB,EAAE,GAAS,EAAE;YAC9B,MAAM,MAAM,GAAG,IAAI,+CAAqB,EAAE,CAAC;YAE3C,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAElC,MAAM,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAEvD,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,gCAAgC,EACjG;gBACI,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,KAAK;aAChB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,GAAS,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,iDAAsB,EAAE,CAAC;YAE5C,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE3B,MAAM,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAE3D,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,0BAA0B,kBAAkB,CAAC,OAAO,CAAC,EAAE,EACxH;gBACI,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,KAAK;aAChB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,kBAAkB,EAAE,GAAS,EAAE;YAC9B,MAAM,MAAM,GAAG,IAAI,uCAAiB,EAAE,CAAC;YAEvC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE3B,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAErD,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,WAAW,EAC5E;gBACI,IAAI,EAAE,oCAAoC;gBAC1C,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,MAAM;aACjB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,kBAAkB,EAAE,GAAS,EAAE;YAC9B,MAAM,MAAM,GAAG,IAAI,iDAAsB,EAAE,CAAC;YAC5C,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACrD,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,YAAY,EAC7E;gBACI,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,MAAM;aACjB,CACJ,CAAC;YAEF,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACrD,eAAK,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;YACjD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,YAAY,EAC7E;gBACI,IAAI,EAAE,iIAAiI;gBACvI,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,MAAM;aACjB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,GAAS,EAAE;YAClC,MAAM,MAAM,GAAG,IAAI,6CAAoB,EAAE,CAAC;YAE1C,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE3B,MAAM,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAE1D,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,cAAc,EAC/E;gBACI,IAAI,EAAE,oCAAoC;gBAC1C,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,MAAM;aACjB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,EAAE,GAAS,EAAE;YACxB,MAAM,MAAM,GAAG,IAAI,2CAAmB,EAAE,CAAC;YAEzC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAEhC,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAElD,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,SAAS,EAC1E;gBACI,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,MAAM;aACjB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,WAAW,EAAE,GAAS,EAAE;YACvB,MAAM,MAAM,GAAG,IAAI,yCAAkB,EAAE,CAAC;YAExC,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAEjD,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,QAAQ,EACzE;gBACI,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,MAAM;aACjB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,EAAE,GAAS,EAAE;YACxB,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAE1C,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,EAAE,EACnE;gBACI,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,QAAQ;aACnB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,oBAAoB,EAAE,GAAS,EAAE;YAChC,MAAM,MAAM,GAAG,IAAI,yDAAyB,EAAE,CAAC;YAC/C,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE/C,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;iBAC7B,cAAc,CAAC,IAAI,CAAC;iBACpB,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;YAE7C,MAAM,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAExD,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,cAAc,EAC/E;gBACI,IAAI,EAAE,gHAAgH;gBACtH,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,MAAM;aACjB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,GAAS,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,mEAA8B,EAAE,CAAC;YACpD,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE/C,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;iBAC7B,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;YAE7C,MAAM,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAE7D,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAChD,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,sBAAsB,EACtB,yCAAyC,SAAS,SAAS,MAAM,iBAAiB,EAClF;gBACI,IAAI,EAAE,2FAA2F;gBACjG,OAAO,EAAE;oBACL,aAAa,EAAE,mCAAmC;oBAClD,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,iBAAiB;iBAClC;gBACD,MAAM,EAAE,MAAM;aACjB,CACJ,CAAC;QACN,CAAC,CAAA,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const sinon_1 = __importDefault(require("sinon"));
16
+ const locales_1 = require("../api/locales");
17
+ const get_locales_parameters_1 = require("../api/locales/params/get-locales-parameters");
18
+ const mock_1 = require("./mock");
19
+ describe("SmartlingLocalesApi class tests.", () => {
20
+ let localesApi;
21
+ let localesApiFetchStub;
22
+ let localesApiUaStub;
23
+ let responseMockTextStub;
24
+ beforeEach(() => {
25
+ localesApi = new locales_1.SmartlingLocalesApi("https://test.com", mock_1.authMock, mock_1.loggerMock);
26
+ localesApiFetchStub = sinon_1.default.stub(localesApi, "fetch");
27
+ localesApiUaStub = sinon_1.default.stub(localesApi, "ua");
28
+ responseMockTextStub = sinon_1.default.stub(mock_1.responseMock, "text");
29
+ localesApiUaStub.returns("test_user_agent");
30
+ localesApiFetchStub.returns(mock_1.responseMock);
31
+ responseMockTextStub.returns("{\"response\": {}}");
32
+ });
33
+ afterEach(() => {
34
+ localesApiFetchStub.restore();
35
+ responseMockTextStub.restore();
36
+ localesApiUaStub.restore();
37
+ });
38
+ it("Get all locales", () => __awaiter(void 0, void 0, void 0, function* () {
39
+ yield localesApi.getLocales();
40
+ sinon_1.default.assert.calledOnce(localesApiFetchStub);
41
+ sinon_1.default.assert.calledWithExactly(localesApiFetchStub, "https://test.com/locales-api/v2/dictionary/locales", {
42
+ headers: {
43
+ Authorization: "test_token_type test_access_token",
44
+ "Content-Type": "application/json",
45
+ "User-Agent": "test_user_agent"
46
+ },
47
+ method: "get"
48
+ });
49
+ }));
50
+ it("Get locales with filters", () => __awaiter(void 0, void 0, void 0, function* () {
51
+ const params = new get_locales_parameters_1.GetLocalesParameters()
52
+ .setLocaleIds(["fr-FR", "de-DE"])
53
+ .setSupportedOnly(true);
54
+ yield localesApi.getLocales(params);
55
+ sinon_1.default.assert.calledOnce(localesApiFetchStub);
56
+ sinon_1.default.assert.calledWithExactly(localesApiFetchStub, "https://test.com/locales-api/v2/dictionary/locales?localeIds=fr-FR&localeIds=de-DE&supportedOnly=true", {
57
+ headers: {
58
+ Authorization: "test_token_type test_access_token",
59
+ "Content-Type": "application/json",
60
+ "User-Agent": "test_user_agent"
61
+ },
62
+ method: "get"
63
+ });
64
+ }));
65
+ });
66
+ //# sourceMappingURL=locales.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locales.spec.js","sourceRoot":"","sources":["../../test/locales.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,4CAAqD;AACrD,yFAAoF;AAEpF,iCAA4D;AAE5D,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAC9C,IAAI,UAAU,CAAC;IACf,IAAI,mBAAmB,CAAC;IACxB,IAAI,gBAAgB,CAAC;IACrB,IAAI,oBAAoB,CAAC;IAEzB,UAAU,CAAC,GAAG,EAAE;QACZ,UAAU,GAAG,IAAI,6BAAmB,CAAC,kBAAkB,EAAE,eAAuC,EAAE,iBAAU,CAAC,CAAC;QAE9G,mBAAmB,GAAG,eAAK,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtD,gBAAgB,GAAG,eAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAChD,oBAAoB,GAAG,eAAK,CAAC,IAAI,CAAC,mBAAY,EAAE,MAAM,CAAC,CAAC;QAExD,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC5C,mBAAmB,CAAC,OAAO,CAAC,mBAAY,CAAC,CAAC;QAC1C,oBAAoB,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAC9B,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAC/B,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAS,EAAE;QAC7B,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;QAE9B,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC7C,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,mBAAmB,EACnB,oDAAoD,EACpD;YACI,OAAO,EAAE;gBACL,aAAa,EAAE,mCAAmC;gBAClD,cAAc,EAAE,kBAAkB;gBAClC,YAAY,EAAE,iBAAiB;aAClC;YACD,MAAM,EAAE,KAAK;SAChB,CACJ,CAAC;IACN,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAS,EAAE;QACtC,MAAM,MAAM,GAAG,IAAI,6CAAoB,EAAE;aACpC,YAAY,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAChC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEpC,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC7C,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAC1B,mBAAmB,EACnB,uGAAuG,EACvG;YACI,OAAO,EAAE;gBACL,aAAa,EAAE,mCAAmC;gBAClD,cAAc,EAAE,kBAAkB;gBAClC,YAAY,EAAE,iBAAiB;aAClC;YACD,MAAM,EAAE,KAAK;SAChB,CACJ,CAAC;IACN,CAAC,CAAA,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ export declare const loggerMock: {
2
+ debug: () => void;
3
+ warn: () => void;
4
+ error: () => void;
5
+ info: () => void;
6
+ };
7
+ export declare const authMock: {
8
+ getAccessToken: () => string;
9
+ getTokenType: () => string;
10
+ resetToken: () => void;
11
+ };
12
+ export declare const responseMock: {
13
+ status: number;
14
+ text: () => Promise<string>;
15
+ json: () => Promise<void>;
16
+ arrayBuffer: () => Promise<ArrayBuffer>;
17
+ headers: {};
18
+ };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.responseMock = exports.authMock = exports.loggerMock = void 0;
13
+ exports.loggerMock = {
14
+ debug: () => { },
15
+ warn: () => { },
16
+ error: () => { },
17
+ info: () => { }
18
+ };
19
+ exports.authMock = {
20
+ getAccessToken: () => "test_access_token",
21
+ getTokenType: () => "test_token_type",
22
+ resetToken: () => { }
23
+ };
24
+ exports.responseMock = {
25
+ status: 200,
26
+ text: () => __awaiter(void 0, void 0, void 0, function* () { return "{}"; }),
27
+ json: () => __awaiter(void 0, void 0, void 0, function* () { }),
28
+ arrayBuffer: () => __awaiter(void 0, void 0, void 0, function* () { return new ArrayBuffer(1); }),
29
+ headers: {}
30
+ };
31
+ //# sourceMappingURL=mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../test/mock.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGa,QAAA,UAAU,GAAG;IACtB,KAAK,EAAE,GAAS,EAAE,GAAE,CAAC;IACrB,IAAI,EAAE,GAAS,EAAE,GAAE,CAAC;IACpB,KAAK,EAAE,GAAS,EAAE,GAAE,CAAC;IACrB,IAAI,EAAE,GAAS,EAAE,GAAE,CAAC;CACvB,CAAC;AAEW,QAAA,QAAQ,GAAG;IACpB,cAAc,EAAE,GAAW,EAAE,CAAC,mBAAmB;IACjD,YAAY,EAAE,GAAW,EAAE,CAAC,iBAAiB;IAC7C,UAAU,EAAE,GAAS,EAAE,GAAE,CAAC;CAC7B,CAAC;AAEW,QAAA,YAAY,GAAG;IACxB,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAA0B,EAAE,kDAAC,OAAA,IAAI,CAAA,GAAA;IACvC,IAAI,EAAE,GAAwB,EAAE,kDAAE,CAAC,CAAA;IACnC,WAAW,EAAE,GAA+B,EAAE,kDAAC,OAAA,IAAI,WAAW,CAAC,CAAC,CAAC,CAAA,GAAA;IACjE,OAAO,EAAE,EAAE;CACd,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const sinon_1 = __importDefault(require("sinon"));
16
+ const assert_1 = __importDefault(require("assert"));
17
+ const mt_1 = require("../api/mt");
18
+ const smartling_mt_parameters_1 = require("../api/mt/params/smartling-mt-parameters");
19
+ const index_1 = require("../api/exception/index");
20
+ const mock_1 = require("./mock");
21
+ describe("SmartlinMachineTranslationsApi class tests.", () => {
22
+ const accountUid = "testAccountUid";
23
+ let mtApi;
24
+ let mtApiFetchStub;
25
+ let mtApiUaStub;
26
+ let responseMockTextStub;
27
+ beforeEach(() => {
28
+ mtApi = new mt_1.SmartlingMachineTranslationsApi("https://test.com", mock_1.authMock, mock_1.loggerMock);
29
+ mtApiFetchStub = sinon_1.default.stub(mtApi, "fetch");
30
+ mtApiUaStub = sinon_1.default.stub(mtApi, "ua");
31
+ responseMockTextStub = sinon_1.default.stub(mock_1.responseMock, "text");
32
+ mtApiUaStub.returns("test_user_agent");
33
+ mtApiFetchStub.returns(mock_1.responseMock);
34
+ responseMockTextStub.returns("{\"response\": {}}");
35
+ });
36
+ afterEach(() => {
37
+ mtApiFetchStub.restore();
38
+ responseMockTextStub.restore();
39
+ mtApiUaStub.restore();
40
+ });
41
+ it("Translate using Smartling MT", () => __awaiter(void 0, void 0, void 0, function* () {
42
+ const params = new smartling_mt_parameters_1.SmartlingMTParameters("en-US", "es-ES", [{
43
+ key: "text.key",
44
+ sourceText: "This is text for translation"
45
+ }]);
46
+ yield mtApi.translate(accountUid, params);
47
+ sinon_1.default.assert.calledOnce(mtApiFetchStub);
48
+ sinon_1.default.assert.calledWithExactly(mtApiFetchStub, `https://test.com/mt-router-api/v2/accounts/${accountUid}/smartling-mt`, {
49
+ headers: {
50
+ Authorization: "test_token_type test_access_token",
51
+ "Content-Type": "application/json",
52
+ "User-Agent": "test_user_agent"
53
+ },
54
+ method: "post",
55
+ body: JSON.stringify({
56
+ sourceLocaleId: "en-US",
57
+ targetLocaleId: "es-ES",
58
+ items: [{
59
+ key: "text.key",
60
+ sourceText: "This is text for translation"
61
+ }]
62
+ })
63
+ });
64
+ }));
65
+ it("Validation of MT parameters throws error when no source items specified", () => __awaiter(void 0, void 0, void 0, function* () {
66
+ try {
67
+ new smartling_mt_parameters_1.SmartlingMTParameters("en-US", "es-ES", []);
68
+ assert_1.default.fail("must throw SmartlingException");
69
+ }
70
+ catch (e) {
71
+ assert_1.default.ok(e instanceof index_1.SmartlingException);
72
+ }
73
+ }));
74
+ it("Validation of MT parameters throws error when number of source items exceeds limit", () => __awaiter(void 0, void 0, void 0, function* () {
75
+ try {
76
+ new smartling_mt_parameters_1.SmartlingMTParameters("en-US", "es-ES", Array(1001).fill({
77
+ key: "key",
78
+ sourceText: "string for translation"
79
+ }));
80
+ assert_1.default.fail("must throw SmartlingException");
81
+ }
82
+ catch (e) {
83
+ assert_1.default.ok(e instanceof index_1.SmartlingException);
84
+ }
85
+ }));
86
+ it("Validation of MT parameters throws error when source item has empty key", () => __awaiter(void 0, void 0, void 0, function* () {
87
+ try {
88
+ new smartling_mt_parameters_1.SmartlingMTParameters("en-US", "es-ES", [{
89
+ key: "",
90
+ sourceText: "text"
91
+ }]);
92
+ assert_1.default.fail("must throw SmartlingException");
93
+ }
94
+ catch (e) {
95
+ assert_1.default.ok(e instanceof index_1.SmartlingException);
96
+ }
97
+ }));
98
+ it("Validation of MT parameters throws error when source item has long key", () => __awaiter(void 0, void 0, void 0, function* () {
99
+ try {
100
+ new smartling_mt_parameters_1.SmartlingMTParameters("en-US", "es-ES", [{
101
+ key: "A".repeat(256),
102
+ sourceText: "text"
103
+ }]);
104
+ assert_1.default.fail("must throw SmartlingException");
105
+ }
106
+ catch (e) {
107
+ assert_1.default.ok(e instanceof index_1.SmartlingException);
108
+ }
109
+ }));
110
+ it("Validation of MT parameters throws error when source item has empty text", () => __awaiter(void 0, void 0, void 0, function* () {
111
+ try {
112
+ new smartling_mt_parameters_1.SmartlingMTParameters("en-US", "es-ES", [{
113
+ key: "key",
114
+ sourceText: ""
115
+ }]);
116
+ assert_1.default.fail("must throw SmartlingException");
117
+ }
118
+ catch (e) {
119
+ assert_1.default.ok(e instanceof index_1.SmartlingException);
120
+ }
121
+ }));
122
+ it("Validation of MT parameters throws error when source item has long text", () => __awaiter(void 0, void 0, void 0, function* () {
123
+ try {
124
+ new smartling_mt_parameters_1.SmartlingMTParameters("en-US", "es-ES", [{
125
+ key: "key",
126
+ sourceText: "A".repeat((64 * 1024) + 1)
127
+ }]);
128
+ assert_1.default.fail("must throw SmartlingException");
129
+ }
130
+ catch (e) {
131
+ assert_1.default.ok(e instanceof index_1.SmartlingException);
132
+ }
133
+ }));
134
+ });
135
+ //# sourceMappingURL=mt.spec.js.map