crowdin-api 1.14.0 → 1.15.1

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 (81) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/docs.yml +1 -0
  3. data/.rubocop.yml +4 -0
  4. data/.rubocop_todo.yml +1 -0
  5. data/AGENTS.md +63 -0
  6. data/CLAUDE.md +1 -0
  7. data/Gemfile.lock +7 -7
  8. data/README.md +1 -1
  9. data/crowdin-api.gemspec +1 -1
  10. data/lib/crowdin-api/api_resources/advisor.rb +86 -0
  11. data/lib/crowdin-api/api_resources/ai.rb +974 -0
  12. data/lib/crowdin-api/api_resources/applications.rb +247 -10
  13. data/lib/crowdin-api/api_resources/bundles.rb +45 -29
  14. data/lib/crowdin-api/api_resources/clients.rb +23 -0
  15. data/lib/crowdin-api/api_resources/custom_spellcheckers.rb +36 -0
  16. data/lib/crowdin-api/api_resources/dictionaries.rb +5 -5
  17. data/lib/crowdin-api/api_resources/distributions.rb +15 -15
  18. data/lib/crowdin-api/api_resources/external_qa_checks.rb +36 -0
  19. data/lib/crowdin-api/api_resources/fields.rb +78 -0
  20. data/lib/crowdin-api/api_resources/glossaries.rb +62 -50
  21. data/lib/crowdin-api/api_resources/integrations.rb +201 -0
  22. data/lib/crowdin-api/api_resources/labels.rb +32 -0
  23. data/lib/crowdin-api/api_resources/languages.rb +16 -0
  24. data/lib/crowdin-api/api_resources/machine_translation_engines.rb +17 -0
  25. data/lib/crowdin-api/api_resources/notifications.rb +15 -6
  26. data/lib/crowdin-api/api_resources/organization.rb +33 -0
  27. data/lib/crowdin-api/api_resources/organization_webhooks.rb +71 -0
  28. data/lib/crowdin-api/api_resources/placeholders.rb +182 -0
  29. data/lib/crowdin-api/api_resources/projects.rb +137 -41
  30. data/lib/crowdin-api/api_resources/reports.rb +310 -26
  31. data/lib/crowdin-api/api_resources/screenshots.rb +48 -0
  32. data/lib/crowdin-api/api_resources/security_logs.rb +63 -0
  33. data/lib/crowdin-api/api_resources/source_files.rb +370 -65
  34. data/lib/crowdin-api/api_resources/source_strings.rb +62 -0
  35. data/lib/crowdin-api/api_resources/storages.rb +11 -11
  36. data/lib/crowdin-api/api_resources/string_comments.rb +46 -0
  37. data/lib/crowdin-api/api_resources/string_corrections.rb +21 -6
  38. data/lib/crowdin-api/api_resources/string_translations.rb +96 -0
  39. data/lib/crowdin-api/api_resources/style_guides.rb +71 -0
  40. data/lib/crowdin-api/api_resources/tasks.rb +140 -10
  41. data/lib/crowdin-api/api_resources/teams.rb +99 -0
  42. data/lib/crowdin-api/api_resources/translation_memory.rb +138 -0
  43. data/lib/crowdin-api/api_resources/translation_status.rb +65 -0
  44. data/lib/crowdin-api/api_resources/translations.rb +122 -2
  45. data/lib/crowdin-api/api_resources/users.rb +136 -6
  46. data/lib/crowdin-api/api_resources/vendors.rb +2 -0
  47. data/lib/crowdin-api/api_resources/webhooks.rb +16 -0
  48. data/lib/crowdin-api/api_resources/workflows.rb +24 -0
  49. data/lib/crowdin-api/client/version.rb +1 -1
  50. data/lib/crowdin-api/core/request.rb +1 -1
  51. data/lib/crowdin-api.rb +3 -1
  52. data/spec/api_resources/advisor_spec.rb +45 -0
  53. data/spec/api_resources/ai_spec.rb +863 -0
  54. data/spec/api_resources/applications_spec.rb +138 -0
  55. data/spec/api_resources/bundles_spec.rb +8 -0
  56. data/spec/api_resources/clients_spec.rb +13 -0
  57. data/spec/api_resources/custom_spellcheckers_spec.rb +21 -0
  58. data/spec/api_resources/external_qa_checks_spec.rb +21 -0
  59. data/spec/api_resources/fields_spec.rb +45 -0
  60. data/spec/api_resources/glossaries_spec.rb +18 -0
  61. data/spec/api_resources/integrations_spec.rb +117 -0
  62. data/spec/api_resources/organization_spec.rb +21 -0
  63. data/spec/api_resources/organization_webhooks_spec.rb +45 -0
  64. data/spec/api_resources/placeholders_spec.rb +103 -0
  65. data/spec/api_resources/projects_spec.rb +58 -0
  66. data/spec/api_resources/reports_spec.rb +221 -0
  67. data/spec/api_resources/security_logs_spec.rb +39 -0
  68. data/spec/api_resources/source_files_spec.rb +182 -0
  69. data/spec/api_resources/source_strings_spec.rb +26 -0
  70. data/spec/api_resources/string_comments_spec.rb +18 -0
  71. data/spec/api_resources/string_corrections_spec.rb +25 -19
  72. data/spec/api_resources/string_translations_spec.rb +26 -0
  73. data/spec/api_resources/style_guides_spec.rb +45 -0
  74. data/spec/api_resources/tasks_spec.rb +60 -0
  75. data/spec/api_resources/teams_spec.rb +42 -0
  76. data/spec/api_resources/translation_memory_spec.rb +58 -0
  77. data/spec/api_resources/translation_status_spec.rb +26 -0
  78. data/spec/api_resources/translations_spec.rb +42 -0
  79. data/spec/api_resources/users_spec.rb +84 -0
  80. data/spec/api_resources/workflows_spec.rb +10 -0
  81. metadata +29 -3
@@ -44,4 +44,142 @@ describe Crowdin::ApiResources::Applications do
44
44
  end
45
45
  end
46
46
  end
47
+
48
+ describe 'Default endpoints' do
49
+ describe '#list_application_consent_decisions' do
50
+ it 'when request are valid', :default do
51
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/consents")
52
+ result = @crowdin.list_application_consent_decisions({})
53
+ expect(result).to eq(200)
54
+ end
55
+ end
56
+
57
+ describe '#create_application_consent_decision' do
58
+ it 'when request are valid', :default do
59
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/applications/consents")
60
+ result = @crowdin.create_application_consent_decision({})
61
+ expect(result).to eq(200)
62
+ end
63
+ end
64
+
65
+ describe '#delete_application_consent_decision' do
66
+ it 'when request are valid', :default do
67
+ stub_request(:delete, "https://api.crowdin.com/#{target_api_url}/applications/consents/1")
68
+ result = @crowdin.delete_application_consent_decision(1)
69
+ expect(result).to eq(200)
70
+ end
71
+ end
72
+
73
+ describe '#edit_application_consent_decision' do
74
+ it 'when request are valid', :default do
75
+ stub_request(:patch, "https://api.crowdin.com/#{target_api_url}/applications/consents/1")
76
+ result = @crowdin.edit_application_consent_decision(1, [])
77
+ expect(result).to eq(200)
78
+ end
79
+ end
80
+
81
+ describe '#list_application_installations' do
82
+ it 'when request are valid', :default do
83
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/installations")
84
+ result = @crowdin.list_application_installations({})
85
+ expect(result).to eq(200)
86
+ end
87
+ end
88
+
89
+ describe '#install_application' do
90
+ it 'when request are valid', :default do
91
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/applications/installations")
92
+ result = @crowdin.install_application({})
93
+ expect(result).to eq(200)
94
+ end
95
+ end
96
+
97
+ describe '#delete_application_installation' do
98
+ it 'when request are valid', :default do
99
+ stub_request(:delete, "https://api.crowdin.com/#{target_api_url}/applications/installations/1")
100
+ result = @crowdin.delete_application_installation(1, {})
101
+ expect(result).to eq(200)
102
+ end
103
+ end
104
+
105
+ describe '#get_application_installation' do
106
+ it 'when request are valid', :default do
107
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/installations/1")
108
+ result = @crowdin.get_application_installation(1)
109
+ expect(result).to eq(200)
110
+ end
111
+ end
112
+
113
+ describe '#edit_application_installation' do
114
+ it 'when request are valid', :default do
115
+ stub_request(:patch, "https://api.crowdin.com/#{target_api_url}/applications/installations/1")
116
+ result = @crowdin.edit_application_installation(1, [])
117
+ expect(result).to eq(200)
118
+ end
119
+ end
120
+
121
+ describe '#upload_application_bundle' do
122
+ it 'when request are valid', :default do
123
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/applications/installations/1/bundles")
124
+ result = @crowdin.upload_application_bundle(1, {})
125
+ expect(result).to eq(200)
126
+ end
127
+ end
128
+
129
+ describe '#get_application_installation_update' do
130
+ it 'when request are valid', :default do
131
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/installations/1/update")
132
+ result = @crowdin.get_application_installation_update(1)
133
+ expect(result).to eq(200)
134
+ end
135
+ end
136
+
137
+ describe '#apply_application_installation_update' do
138
+ it 'when request are valid', :default do
139
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/applications/installations/1/update")
140
+ result = @crowdin.apply_application_installation_update(1, {})
141
+ expect(result).to eq(200)
142
+ end
143
+ end
144
+
145
+ describe '#list_application_kv_records' do
146
+ it 'when request are valid', :default do
147
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/1/storage/kv/records")
148
+ result = @crowdin.list_application_kv_records(1, {})
149
+ expect(result).to eq(200)
150
+ end
151
+ end
152
+
153
+ describe '#add_application_kv_record' do
154
+ it 'when request are valid', :default do
155
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/applications/1/storage/kv/records")
156
+ result = @crowdin.add_application_kv_record(1, {})
157
+ expect(result).to eq(200)
158
+ end
159
+ end
160
+
161
+ describe '#delete_application_kv_record' do
162
+ it 'when request are valid', :default do
163
+ stub_request(:delete, "https://api.crowdin.com/#{target_api_url}/applications/1/storage/kv/records/1")
164
+ result = @crowdin.delete_application_kv_record(1, 1)
165
+ expect(result).to eq(200)
166
+ end
167
+ end
168
+
169
+ describe '#get_application_kv_record' do
170
+ it 'when request are valid', :default do
171
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/1/storage/kv/records/1")
172
+ result = @crowdin.get_application_kv_record(1, 1)
173
+ expect(result).to eq(200)
174
+ end
175
+ end
176
+
177
+ describe '#edit_application_kv_record' do
178
+ it 'when request are valid', :default do
179
+ stub_request(:patch, "https://api.crowdin.com/#{target_api_url}/applications/1/storage/kv/records/1")
180
+ result = @crowdin.edit_application_kv_record(1, 1, [])
181
+ expect(result).to eq(200)
182
+ end
183
+ end
184
+ end
47
185
  end
@@ -88,5 +88,13 @@ describe Crowdin::ApiResources::Bundles do
88
88
  expect(bundle_list_files).to eq(200)
89
89
  end
90
90
  end
91
+
92
+ describe '#bundle_list_branches' do
93
+ it 'when request are valid', :default do
94
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/bundles/1/branches")
95
+ result = @crowdin.bundle_list_branches(1, {}, project_id)
96
+ expect(result).to eq(200)
97
+ end
98
+ end
91
99
  end
92
100
  end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Crowdin::ApiResources::Clients do
4
+ describe 'Enterprise endpoints' do
5
+ describe '#list_clients' do
6
+ it 'when request are valid', :enterprise do
7
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/clients")
8
+ result = @crowdin.list_clients({})
9
+ expect(result).to eq(200)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Crowdin::ApiResources::CustomSpellcheckers do
4
+ describe 'Enterprise endpoints' do
5
+ describe '#list_custom_spellcheckers' do
6
+ it 'when request are valid', :enterprise do
7
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/custom-spellcheckers")
8
+ result = @crowdin.list_custom_spellcheckers({})
9
+ expect(result).to eq(200)
10
+ end
11
+ end
12
+
13
+ describe '#get_custom_spellchecker' do
14
+ it 'when request are valid', :enterprise do
15
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/custom-spellcheckers/1")
16
+ result = @crowdin.get_custom_spellchecker(1)
17
+ expect(result).to eq(200)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Crowdin::ApiResources::ExternalQaChecks do
4
+ describe 'Enterprise endpoints' do
5
+ describe '#list_external_qa_checks' do
6
+ it 'when request are valid', :enterprise do
7
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/external-qa-checks")
8
+ result = @crowdin.list_external_qa_checks({})
9
+ expect(result).to eq(200)
10
+ end
11
+ end
12
+
13
+ describe '#get_external_qa_check' do
14
+ it 'when request are valid', :enterprise do
15
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/external-qa-checks/1")
16
+ result = @crowdin.get_external_qa_check(1)
17
+ expect(result).to eq(200)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Crowdin::ApiResources::Fields do
4
+ describe 'Enterprise endpoints' do
5
+ describe '#list_fields' do
6
+ it 'when request are valid', :enterprise do
7
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/fields")
8
+ result = @crowdin.list_fields({})
9
+ expect(result).to eq(200)
10
+ end
11
+ end
12
+
13
+ describe '#add_field' do
14
+ it 'when request are valid', :enterprise do
15
+ stub_request(:post, "https://domain.api.crowdin.com/#{target_api_url}/fields")
16
+ result = @crowdin.add_field({})
17
+ expect(result).to eq(200)
18
+ end
19
+ end
20
+
21
+ describe '#delete_field' do
22
+ it 'when request are valid', :enterprise do
23
+ stub_request(:delete, "https://domain.api.crowdin.com/#{target_api_url}/fields/1")
24
+ result = @crowdin.delete_field(1)
25
+ expect(result).to eq(200)
26
+ end
27
+ end
28
+
29
+ describe '#get_field' do
30
+ it 'when request are valid', :enterprise do
31
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/fields/1")
32
+ result = @crowdin.get_field(1)
33
+ expect(result).to eq(200)
34
+ end
35
+ end
36
+
37
+ describe '#edit_field' do
38
+ it 'when request are valid', :enterprise do
39
+ stub_request(:patch, "https://domain.api.crowdin.com/#{target_api_url}/fields/1")
40
+ result = @crowdin.edit_field(1, [])
41
+ expect(result).to eq(200)
42
+ end
43
+ end
44
+ end
45
+ end
@@ -152,6 +152,14 @@ describe Crowdin::ApiResources::Glossaries, 'Concept endpoints' do
152
152
  end
153
153
  end
154
154
 
155
+ describe '#delete_concept' do
156
+ it 'when request are valid', :default do
157
+ stub_request(:delete, "https://api.crowdin.com/#{target_api_url}/glossaries/1/concepts/1")
158
+ result = @crowdin.delete_concept(1, 1)
159
+ expect(result).to eq(200)
160
+ end
161
+ end
162
+
155
163
  describe '#update_concept' do
156
164
  let(:glossary_id) { 1 }
157
165
  let(:concept_id) { 1 }
@@ -228,4 +236,14 @@ describe Crowdin::ApiResources::Glossaries, 'Term endpoints' do
228
236
  expect(edit_term).to eq(200)
229
237
  end
230
238
  end
239
+
240
+ describe 'Default endpoints' do
241
+ describe '#concordance_search_in_glossaries' do
242
+ it 'when request are valid', :default do
243
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/glossaries/concordance")
244
+ result = @crowdin.concordance_search_in_glossaries({})
245
+ expect(result).to eq(200)
246
+ end
247
+ end
248
+ end
231
249
  end
@@ -0,0 +1,117 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Crowdin::ApiResources::Integrations do
4
+ describe 'Default endpoints' do
5
+ describe '#list_jobs' do
6
+ it 'when request are valid', :default do
7
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/1/api/all-jobs")
8
+ result = @crowdin.list_jobs(1, {})
9
+ expect(result).to eq(200)
10
+ end
11
+ end
12
+
13
+ describe '#list_crowdin_files' do
14
+ it 'when request are valid', :default do
15
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/1/api/crowdin-files")
16
+ result = @crowdin.list_crowdin_files(1, {})
17
+ expect(result).to eq(200)
18
+ end
19
+ end
20
+
21
+ describe '#update_crowdin_files' do
22
+ it 'when request are valid', :default do
23
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/applications/1/api/crowdin-update")
24
+ result = @crowdin.update_crowdin_files(1, {})
25
+ expect(result).to eq(200)
26
+ end
27
+ end
28
+
29
+ describe '#get_integration_file_progress' do
30
+ it 'when request are valid', :default do
31
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/1/api/file-progress")
32
+ result = @crowdin.get_integration_file_progress(1, {})
33
+ expect(result).to eq(200)
34
+ end
35
+ end
36
+
37
+ describe '#list_integration_files' do
38
+ it 'when request are valid', :default do
39
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/1/api/integration-files")
40
+ result = @crowdin.list_integration_files(1, {})
41
+ expect(result).to eq(200)
42
+ end
43
+ end
44
+
45
+ describe '#update_integration_files' do
46
+ it 'when request are valid', :default do
47
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/applications/1/api/integration-update")
48
+ result = @crowdin.update_integration_files(1, {})
49
+ expect(result).to eq(200)
50
+ end
51
+ end
52
+
53
+ describe '#get_job_info' do
54
+ it 'when request are valid', :default do
55
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/1/api/job-info")
56
+ result = @crowdin.get_job_info(1, {})
57
+ expect(result).to eq(200)
58
+ end
59
+ end
60
+
61
+ describe '#cancel_job' do
62
+ it 'when request are valid', :default do
63
+ stub_request(:delete, "https://api.crowdin.com/#{target_api_url}/applications/1/api/jobs")
64
+ result = @crowdin.cancel_job(1, {})
65
+ expect(result).to eq(200)
66
+ end
67
+ end
68
+
69
+ describe '#integration_login' do
70
+ it 'when request are valid', :default do
71
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/applications/1/api/login")
72
+ result = @crowdin.integration_login(1, {})
73
+ expect(result).to eq(200)
74
+ end
75
+ end
76
+
77
+ describe '#integration_login_form_fields' do
78
+ it 'when request are valid', :default do
79
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/1/api/login-fields")
80
+ result = @crowdin.integration_login_form_fields(1)
81
+ expect(result).to eq(200)
82
+ end
83
+ end
84
+
85
+ describe '#get_application_settings' do
86
+ it 'when request are valid', :default do
87
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/1/api/settings")
88
+ result = @crowdin.get_application_settings(1, {})
89
+ expect(result).to eq(200)
90
+ end
91
+ end
92
+
93
+ describe '#update_application_settings' do
94
+ it 'when request are valid', :default do
95
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/applications/1/api/settings")
96
+ result = @crowdin.update_application_settings(1, {})
97
+ expect(result).to eq(200)
98
+ end
99
+ end
100
+
101
+ describe '#get_sync_settings' do
102
+ it 'when request are valid', :default do
103
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/applications/1/api/sync-settings")
104
+ result = @crowdin.get_sync_settings(1, {})
105
+ expect(result).to eq(200)
106
+ end
107
+ end
108
+
109
+ describe '#update_sync_settings' do
110
+ it 'when request are valid', :default do
111
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/applications/1/api/sync-settings")
112
+ result = @crowdin.update_sync_settings(1, {})
113
+ expect(result).to eq(200)
114
+ end
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Crowdin::ApiResources::Organization do
4
+ describe 'Enterprise endpoints' do
5
+ describe '#get_organization_info' do
6
+ it 'when request are valid', :enterprise do
7
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/organization")
8
+ result = @crowdin.get_organization_info
9
+ expect(result).to eq(200)
10
+ end
11
+ end
12
+
13
+ describe '#get_organization_authentication_settings' do
14
+ it 'when request are valid', :enterprise do
15
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/organization/auth-settings")
16
+ result = @crowdin.get_organization_authentication_settings
17
+ expect(result).to eq(200)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Crowdin::ApiResources::OrganizationWebhooks do
4
+ describe 'Default endpoints' do
5
+ describe '#list_organization_webhooks' do
6
+ it 'when request are valid', :default do
7
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/webhooks")
8
+ result = @crowdin.list_organization_webhooks({})
9
+ expect(result).to eq(200)
10
+ end
11
+ end
12
+
13
+ describe '#add_organization_webhook' do
14
+ it 'when request are valid', :default do
15
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/webhooks")
16
+ result = @crowdin.add_organization_webhook({})
17
+ expect(result).to eq(200)
18
+ end
19
+ end
20
+
21
+ describe '#delete_organization_webhook' do
22
+ it 'when request are valid', :default do
23
+ stub_request(:delete, "https://api.crowdin.com/#{target_api_url}/webhooks/1")
24
+ result = @crowdin.delete_organization_webhook(1)
25
+ expect(result).to eq(200)
26
+ end
27
+ end
28
+
29
+ describe '#get_organization_webhook' do
30
+ it 'when request are valid', :default do
31
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/webhooks/1")
32
+ result = @crowdin.get_organization_webhook(1)
33
+ expect(result).to eq(200)
34
+ end
35
+ end
36
+
37
+ describe '#edit_organization_webhook' do
38
+ it 'when request are valid', :default do
39
+ stub_request(:patch, "https://api.crowdin.com/#{target_api_url}/webhooks/1")
40
+ result = @crowdin.edit_organization_webhook(1, [])
41
+ expect(result).to eq(200)
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Crowdin::ApiResources::Placeholders do
4
+ describe 'Default endpoints' do
5
+ describe '#list_project_system_placeholders' do
6
+ it 'when request are valid', :default do
7
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/system-placeholders")
8
+ result = @crowdin.list_project_system_placeholders({}, project_id)
9
+ expect(result).to eq(200)
10
+ end
11
+ end
12
+
13
+ describe '#project_system_placeholder_batch_operations' do
14
+ it 'when request are valid', :default do
15
+ stub_request(:patch, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/system-placeholders")
16
+ result = @crowdin.project_system_placeholder_batch_operations([], project_id)
17
+ expect(result).to eq(200)
18
+ end
19
+ end
20
+ end
21
+
22
+ describe 'Enterprise endpoints' do
23
+ describe '#list_custom_placeholders' do
24
+ it 'when request are valid', :enterprise do
25
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/custom-placeholders")
26
+ result = @crowdin.list_custom_placeholders({})
27
+ expect(result).to eq(200)
28
+ end
29
+ end
30
+
31
+ describe '#add_custom_placeholder' do
32
+ it 'when request are valid', :enterprise do
33
+ stub_request(:post, "https://domain.api.crowdin.com/#{target_api_url}/custom-placeholders")
34
+ result = @crowdin.add_custom_placeholder({})
35
+ expect(result).to eq(200)
36
+ end
37
+ end
38
+
39
+ describe '#delete_custom_placeholder' do
40
+ it 'when request are valid', :enterprise do
41
+ stub_request(:delete, "https://domain.api.crowdin.com/#{target_api_url}/custom-placeholders/1")
42
+ result = @crowdin.delete_custom_placeholder(1)
43
+ expect(result).to eq(200)
44
+ end
45
+ end
46
+
47
+ describe '#get_custom_placeholder' do
48
+ it 'when request are valid', :enterprise do
49
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/custom-placeholders/1")
50
+ result = @crowdin.get_custom_placeholder(1)
51
+ expect(result).to eq(200)
52
+ end
53
+ end
54
+
55
+ describe '#edit_custom_placeholder' do
56
+ it 'when request are valid', :enterprise do
57
+ stub_request(:patch, "https://domain.api.crowdin.com/#{target_api_url}/custom-placeholders/1")
58
+ result = @crowdin.edit_custom_placeholder(1, [])
59
+ expect(result).to eq(200)
60
+ end
61
+ end
62
+
63
+ describe '#list_project_placeholders' do
64
+ it 'when request are valid', :enterprise do
65
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/projects/#{project_id}/placeholders")
66
+ result = @crowdin.list_project_placeholders({}, project_id)
67
+ expect(result).to eq(200)
68
+ end
69
+ end
70
+
71
+ describe '#add_project_placeholder' do
72
+ it 'when request are valid', :enterprise do
73
+ stub_request(:post, "https://domain.api.crowdin.com/#{target_api_url}/projects/#{project_id}/placeholders")
74
+ result = @crowdin.add_project_placeholder({}, project_id)
75
+ expect(result).to eq(200)
76
+ end
77
+ end
78
+
79
+ describe '#delete_project_placeholder' do
80
+ it 'when request are valid', :enterprise do
81
+ stub_request(:delete, "https://domain.api.crowdin.com/#{target_api_url}/projects/#{project_id}/placeholders/1")
82
+ result = @crowdin.delete_project_placeholder(1, project_id)
83
+ expect(result).to eq(200)
84
+ end
85
+ end
86
+
87
+ describe '#get_project_placeholder' do
88
+ it 'when request are valid', :enterprise do
89
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/projects/#{project_id}/placeholders/1")
90
+ result = @crowdin.get_project_placeholder(1, project_id)
91
+ expect(result).to eq(200)
92
+ end
93
+ end
94
+
95
+ describe '#edit_project_placeholder' do
96
+ it 'when request are valid', :enterprise do
97
+ stub_request(:patch, "https://domain.api.crowdin.com/#{target_api_url}/projects/#{project_id}/placeholders/1")
98
+ result = @crowdin.edit_project_placeholder(1, [], project_id)
99
+ expect(result).to eq(200)
100
+ end
101
+ end
102
+ end
103
+ end
@@ -323,4 +323,62 @@ describe Crowdin::ApiResources::Projects do
323
323
  end
324
324
  end
325
325
  end
326
+
327
+ describe 'Default endpoints' do
328
+ describe '#list_project_file_format_settings' do
329
+ it 'when request are valid', :default do
330
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/file-format-settings")
331
+ result = @crowdin.list_project_file_format_settings(project_id)
332
+ expect(result).to eq(200)
333
+ end
334
+ end
335
+
336
+ describe '#add_project_file_format_settings' do
337
+ it 'when request are valid', :default do
338
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/file-format-settings")
339
+ result = @crowdin.add_project_file_format_settings({}, project_id)
340
+ expect(result).to eq(200)
341
+ end
342
+ end
343
+
344
+ describe '#delete_project_file_format_settings' do
345
+ it 'when request are valid', :default do
346
+ stub_request(:delete, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/file-format-settings/1")
347
+ result = @crowdin.delete_project_file_format_settings(1, project_id)
348
+ expect(result).to eq(200)
349
+ end
350
+ end
351
+
352
+ describe '#get_project_file_format_settings' do
353
+ it 'when request are valid', :default do
354
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/file-format-settings/1")
355
+ result = @crowdin.get_project_file_format_settings(1, project_id)
356
+ expect(result).to eq(200)
357
+ end
358
+ end
359
+
360
+ describe '#edit_project_file_format_settings' do
361
+ it 'when request are valid', :default do
362
+ stub_request(:patch, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/file-format-settings/1")
363
+ result = @crowdin.edit_project_file_format_settings(1, [], project_id)
364
+ expect(result).to eq(200)
365
+ end
366
+ end
367
+
368
+ describe '#reset_project_file_format_settings_custom_segmentation' do
369
+ it 'when request are valid', :default do
370
+ stub_request(:delete, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/file-format-settings/1/custom-segmentations")
371
+ result = @crowdin.reset_project_file_format_settings_custom_segmentation(1, project_id)
372
+ expect(result).to eq(200)
373
+ end
374
+ end
375
+
376
+ describe '#download_project_file_format_settings_custom_segmentation' do
377
+ it 'when request are valid', :default do
378
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/file-format-settings/1/custom-segmentations")
379
+ result = @crowdin.download_project_file_format_settings_custom_segmentation(1, nil, project_id)
380
+ expect(result).to eq(200)
381
+ end
382
+ end
383
+ end
326
384
  end