ruby-lokalise-api 2.9.0.1 → 4.1.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.
- checksums.yaml +4 -4
- data/.github/CODE_OF_CONDUCT.md +1 -1
- data/.github/CONTRIBUTING.md +9 -2
- data/CHANGELOG.md +1 -80
- data/LICENSE +9 -18
- data/README.md +18 -1734
- data/lib/ruby-lokalise-api.rb +2 -0
- data/lib/ruby-lokalise-api/client.rb +17 -5
- data/lib/ruby-lokalise-api/collections/base.rb +5 -3
- data/lib/ruby-lokalise-api/collections/queued_process.rb +15 -0
- data/lib/ruby-lokalise-api/connection.rb +1 -1
- data/lib/ruby-lokalise-api/data/attributes.json +30 -12
- data/lib/ruby-lokalise-api/request.rb +8 -1
- data/lib/ruby-lokalise-api/resources/base.rb +55 -25
- data/lib/ruby-lokalise-api/resources/branch.rb +1 -1
- data/lib/ruby-lokalise-api/resources/contributor.rb +1 -1
- data/lib/ruby-lokalise-api/resources/custom_translation_status.rb +1 -1
- data/lib/ruby-lokalise-api/resources/file.rb +3 -1
- data/lib/ruby-lokalise-api/resources/key.rb +1 -1
- data/lib/ruby-lokalise-api/resources/key_comment.rb +1 -1
- data/lib/ruby-lokalise-api/resources/order.rb +2 -0
- data/lib/ruby-lokalise-api/resources/payment_card.rb +1 -1
- data/lib/ruby-lokalise-api/resources/project.rb +2 -2
- data/lib/ruby-lokalise-api/resources/project_language.rb +1 -1
- data/lib/ruby-lokalise-api/resources/queued_process.rb +18 -0
- data/lib/ruby-lokalise-api/resources/screenshot.rb +1 -1
- data/lib/ruby-lokalise-api/resources/snapshot.rb +3 -1
- data/lib/ruby-lokalise-api/resources/task.rb +1 -1
- data/lib/ruby-lokalise-api/resources/team_user.rb +1 -1
- data/lib/ruby-lokalise-api/resources/team_user_group.rb +2 -1
- data/lib/ruby-lokalise-api/resources/translation.rb +1 -1
- data/lib/ruby-lokalise-api/resources/translation_provider.rb +3 -0
- data/lib/ruby-lokalise-api/resources/webhook.rb +11 -3
- data/lib/ruby-lokalise-api/rest/comments.rb +5 -5
- data/lib/ruby-lokalise-api/rest/contributors.rb +5 -5
- data/lib/ruby-lokalise-api/rest/custom_translation_statuses.rb +6 -6
- data/lib/ruby-lokalise-api/rest/files.rb +3 -3
- data/lib/ruby-lokalise-api/rest/keys.rb +7 -7
- data/lib/ruby-lokalise-api/rest/languages.rb +6 -6
- data/lib/ruby-lokalise-api/rest/payment_cards.rb +3 -3
- data/lib/ruby-lokalise-api/rest/projects.rb +6 -6
- data/lib/ruby-lokalise-api/rest/queued_processes.rb +26 -0
- data/lib/ruby-lokalise-api/rest/screenshots.rb +5 -5
- data/lib/ruby-lokalise-api/rest/snapshots.rb +4 -4
- data/lib/ruby-lokalise-api/rest/tasks.rb +5 -5
- data/lib/ruby-lokalise-api/rest/team_user_group.rb +4 -4
- data/lib/ruby-lokalise-api/rest/team_users.rb +4 -4
- data/lib/ruby-lokalise-api/rest/teams.rb +1 -1
- data/lib/ruby-lokalise-api/rest/translation_providers.rb +2 -2
- data/lib/ruby-lokalise-api/rest/translations.rb +3 -3
- data/lib/ruby-lokalise-api/rest/webhooks.rb +16 -5
- data/lib/ruby-lokalise-api/utils/attribute_helpers.rb +11 -6
- data/lib/ruby-lokalise-api/version.rb +1 -1
- data/ruby-lokalise-api.gemspec +6 -6
- data/spec/lib/ruby-lokalise-api/custom_json_parser_spec.rb +4 -4
- data/spec/lib/ruby-lokalise-api/error_spec.rb +8 -0
- data/spec/lib/ruby-lokalise-api/rest/branches_spec.rb +12 -0
- data/spec/lib/ruby-lokalise-api/rest/comments_spec.rb +12 -0
- data/spec/lib/ruby-lokalise-api/rest/contributors_spec.rb +12 -0
- data/spec/lib/ruby-lokalise-api/rest/custom_translation_statuses_spec.rb +12 -0
- data/spec/lib/ruby-lokalise-api/rest/files_spec.rb +17 -9
- data/spec/lib/ruby-lokalise-api/rest/keys_spec.rb +38 -20
- data/spec/lib/ruby-lokalise-api/rest/languages_spec.rb +12 -0
- data/spec/lib/ruby-lokalise-api/rest/orders_spec.rb +38 -2
- data/spec/lib/ruby-lokalise-api/rest/payment_cards_spec.rb +19 -5
- data/spec/lib/ruby-lokalise-api/rest/projects_spec.rb +12 -0
- data/spec/lib/ruby-lokalise-api/rest/queued_processes_spec.rb +57 -0
- data/spec/lib/ruby-lokalise-api/rest/screenshots_spec.rb +12 -0
- data/spec/lib/ruby-lokalise-api/rest/snapshots_spec.rb +25 -0
- data/spec/lib/ruby-lokalise-api/rest/tasks_spec.rb +20 -7
- data/spec/lib/ruby-lokalise-api/rest/team_user_groups_spec.rb +84 -0
- data/spec/lib/ruby-lokalise-api/rest/team_users_spec.rb +13 -0
- data/spec/lib/ruby-lokalise-api/rest/translation_providers_spec.rb +5 -0
- data/spec/lib/ruby-lokalise-api/rest/translations_spec.rb +12 -0
- data/spec/lib/ruby-lokalise-api/rest/webhooks_spec.rb +50 -0
- metadata +21 -16
@@ -51,6 +51,18 @@ RSpec.describe Lokalise::Client do
|
|
51
51
|
expect(project.statistics['progress_total']).to eq(18)
|
52
52
|
end
|
53
53
|
|
54
|
+
specify '#reload_data' do
|
55
|
+
project = VCR.use_cassette('project') do
|
56
|
+
test_client.project '803826145ba90b42d5d860.46800099'
|
57
|
+
end
|
58
|
+
|
59
|
+
reloaded_project = VCR.use_cassette('project') do
|
60
|
+
project.reload_data
|
61
|
+
end
|
62
|
+
|
63
|
+
expect(reloaded_project.project_id).to eq(project.project_id)
|
64
|
+
end
|
65
|
+
|
54
66
|
specify '#create_project' do
|
55
67
|
project = VCR.use_cassette('new_project') do
|
56
68
|
test_client.create_project name: 'rspec proj', description: 'demo project for rspec'
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe Lokalise::Client do
|
4
|
+
let(:project_id) { '803826145ba90b42d5d860.46800099' }
|
5
|
+
let(:process_id) { '3b943469e6b3e324b5bdad639b122a623e6e7a1a' }
|
6
|
+
let(:queued_process_id) { '85c42bf5eff44648ca2f01f9db67b7d306a2f282' }
|
7
|
+
|
8
|
+
describe '#queued_processes' do
|
9
|
+
it 'returns all queued processes' do
|
10
|
+
processes = VCR.use_cassette('all_queued_processes') do
|
11
|
+
test_client.queued_processes project_id
|
12
|
+
end
|
13
|
+
|
14
|
+
expect(processes.branch).to eq('master')
|
15
|
+
processes = processes.collection
|
16
|
+
expect(processes.count).to eq(8)
|
17
|
+
expect(processes.first.process_id).to eq(process_id)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
specify '#queued_process' do
|
22
|
+
process = VCR.use_cassette('queued_process') do
|
23
|
+
test_client.queued_process project_id, process_id
|
24
|
+
end
|
25
|
+
|
26
|
+
expect(process.branch).to eq('master')
|
27
|
+
expect(process.process_id).to eq(process_id)
|
28
|
+
expect(process.type).to eq('file-import')
|
29
|
+
expect(process.status).to eq('finished')
|
30
|
+
expect(process.message).to eq('')
|
31
|
+
expect(process.created_by).to eq(20_181)
|
32
|
+
expect(process.created_by_email).to eq('bodrovis@protonmail.com')
|
33
|
+
expect(process.created_at).to eq('2020-05-13 11:24:37 (Etc/UTC)')
|
34
|
+
expect(process.created_at_timestamp).to eq(1_589_369_077)
|
35
|
+
files = process.details['files']
|
36
|
+
expect(files.count).to eq(1)
|
37
|
+
expect(files[0]['status']).to eq('finished')
|
38
|
+
expect(files[0]['name_original']).to eq('test_async.json')
|
39
|
+
end
|
40
|
+
|
41
|
+
describe 'process status check' do
|
42
|
+
specify '#reload_data' do
|
43
|
+
queued_process = VCR.use_cassette('upload_file_status') do
|
44
|
+
test_client.queued_process project_id, queued_process_id
|
45
|
+
end
|
46
|
+
|
47
|
+
expect(queued_process.status).to eq('finished')
|
48
|
+
|
49
|
+
reloaded_process = VCR.use_cassette('upload_file_queued_reload') do
|
50
|
+
queued_process.reload_data
|
51
|
+
end
|
52
|
+
|
53
|
+
expect(reloaded_process.process_id).to eq(queued_process.process_id)
|
54
|
+
expect(reloaded_process.status).to eq('finished')
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -41,6 +41,18 @@ RSpec.describe Lokalise::Client do
|
|
41
41
|
expect(screenshot.height).to eq(32)
|
42
42
|
end
|
43
43
|
|
44
|
+
specify '#reload_data' do
|
45
|
+
screenshot = VCR.use_cassette('screenshot') do
|
46
|
+
test_client.screenshot project_id, screenshot_id
|
47
|
+
end
|
48
|
+
|
49
|
+
reloaded_screenshot = VCR.use_cassette('screenshot') do
|
50
|
+
screenshot.reload_data
|
51
|
+
end
|
52
|
+
|
53
|
+
expect(reloaded_screenshot.screenshot_id).to eq(screenshot.screenshot_id)
|
54
|
+
end
|
55
|
+
|
44
56
|
specify '#create_screenshots' do
|
45
57
|
screenshot_from_file do |file|
|
46
58
|
screenshot = VCR.use_cassette('create_screenshots') do
|
@@ -68,6 +68,31 @@ RSpec.describe Lokalise::Client do
|
|
68
68
|
end
|
69
69
|
|
70
70
|
context 'when snapshot methods are chained' do
|
71
|
+
it 'allows restored project to receive chained methods' do
|
72
|
+
snapshot = VCR.use_cassette('create_snapshot_for_chained') do
|
73
|
+
test_client.create_snapshot project_id, title: 'chained rspec snap'
|
74
|
+
end
|
75
|
+
|
76
|
+
new_project = VCR.use_cassette('restore_snapshot_for_chained') do
|
77
|
+
snapshot.restore
|
78
|
+
end
|
79
|
+
|
80
|
+
updated_project = VCR.use_cassette('restored_updated_project') do
|
81
|
+
new_project.update name: 'Restored and updated'
|
82
|
+
end
|
83
|
+
|
84
|
+
expect(updated_project.client).to eq(test_client)
|
85
|
+
expect(updated_project.name).to eq('Restored and updated')
|
86
|
+
expect(updated_project.project_id).to eq(new_project.project_id)
|
87
|
+
|
88
|
+
response = VCR.use_cassette('delete_restored_project') do
|
89
|
+
updated_project.destroy
|
90
|
+
end
|
91
|
+
|
92
|
+
expect(response['project_id']).to eq(updated_project.project_id)
|
93
|
+
expect(response['project_deleted']).to eq(true)
|
94
|
+
end
|
95
|
+
|
71
96
|
it 'supports destroy and restore' do
|
72
97
|
snapshot = VCR.use_cassette('create_another_snapshot') do
|
73
98
|
test_client.create_snapshot project_id, title: 'chained'
|
@@ -35,8 +35,8 @@ RSpec.describe Lokalise::Client do
|
|
35
35
|
expect(task.task_id).to eq(11_925)
|
36
36
|
expect(task.title).to eq('node updated')
|
37
37
|
expect(task.description).to eq('')
|
38
|
-
expect(task.status).to eq('
|
39
|
-
expect(task.progress).to eq(
|
38
|
+
expect(task.status).to eq('completed')
|
39
|
+
expect(task.progress).to eq(0)
|
40
40
|
expect(task.due_date).to eq(nil)
|
41
41
|
expect(task.due_date_timestamp).to eq(nil)
|
42
42
|
expect(task.keys_count).to eq(16)
|
@@ -45,21 +45,34 @@ RSpec.describe Lokalise::Client do
|
|
45
45
|
expect(task.created_at_timestamp).to eq(1_557_764_126)
|
46
46
|
expect(task.created_by).to eq(20_181)
|
47
47
|
expect(task.created_by_email).to eq('bodrovis@protonmail.com')
|
48
|
-
expect(task.can_be_parent).to eq(
|
48
|
+
expect(task.can_be_parent).to eq(false)
|
49
49
|
expect(task.task_type).to eq('review')
|
50
50
|
expect(task.parent_task_id).to eq(nil)
|
51
51
|
expect(task.closing_tags).to eq([])
|
52
52
|
expect(task.languages.first['language_iso']).to eq('sq')
|
53
53
|
expect(task.auto_close_languages).to eq(true)
|
54
54
|
expect(task.auto_close_task).to eq(true)
|
55
|
-
expect(task.
|
56
|
-
expect(task.
|
57
|
-
expect(task.
|
58
|
-
expect(task.
|
55
|
+
expect(task.auto_close_items).to eq(true)
|
56
|
+
expect(task.completed_by).to eq(20_181)
|
57
|
+
expect(task.completed_by_email).to eq('bodrovis@protonmail.com')
|
58
|
+
expect(task.completed_at).to eq('2019-10-01 11:09:12 (Etc/UTC)')
|
59
|
+
expect(task.completed_at_timestamp).to eq(1_569_928_152)
|
59
60
|
expect(task.do_lock_translations).to eq(false)
|
60
61
|
expect(task.custom_translation_status_ids).to eq([])
|
61
62
|
end
|
62
63
|
|
64
|
+
specify '#reload_data' do
|
65
|
+
task = VCR.use_cassette('task') do
|
66
|
+
test_client.task project_id, '11925'
|
67
|
+
end
|
68
|
+
|
69
|
+
reloaded_task = VCR.use_cassette('task') do
|
70
|
+
task.reload_data
|
71
|
+
end
|
72
|
+
|
73
|
+
expect(reloaded_task.task_id).to eq(task.task_id)
|
74
|
+
end
|
75
|
+
|
63
76
|
specify '#create_task' do
|
64
77
|
task = VCR.use_cassette('create_task') do
|
65
78
|
test_client.create_task project_id, title: 'another rspec key',
|
@@ -45,6 +45,11 @@ RSpec.describe Lokalise::Client do
|
|
45
45
|
expect(group.team_id).to eq(team_id)
|
46
46
|
expect(group.projects.first).to eq('803826145ba90b42d5d860.46800099')
|
47
47
|
expect(group.members[1]).to eq(25_753)
|
48
|
+
|
49
|
+
reloaded_group = VCR.use_cassette('team_user_group') do
|
50
|
+
group.reload_data
|
51
|
+
end
|
52
|
+
expect(reloaded_group.group_id).to eq(group.group_id)
|
48
53
|
end
|
49
54
|
|
50
55
|
specify '#create_team_user_group' do
|
@@ -60,6 +65,11 @@ RSpec.describe Lokalise::Client do
|
|
60
65
|
|
61
66
|
expect(group.name).to eq('RSpec group')
|
62
67
|
expect(group.team_id).to eq(team_id)
|
68
|
+
|
69
|
+
reloaded_group = VCR.use_cassette('created_team_user_group') do
|
70
|
+
group.reload_data
|
71
|
+
end
|
72
|
+
expect(reloaded_group.group_id).to eq(group.group_id)
|
63
73
|
end
|
64
74
|
|
65
75
|
specify '#update_team_user_group' do
|
@@ -91,6 +101,16 @@ RSpec.describe Lokalise::Client do
|
|
91
101
|
expect(group.team_id).to eq(team_id)
|
92
102
|
expect(group.group_id).to eq(third_group_id)
|
93
103
|
expect(group.projects).to include(project_id)
|
104
|
+
|
105
|
+
reloaded_group = VCR.use_cassette('another_team_user_group') do
|
106
|
+
group.reload_data
|
107
|
+
end
|
108
|
+
expect(reloaded_group.group_id).to eq(group.group_id)
|
109
|
+
|
110
|
+
group = VCR.use_cassette('add_projects_to_group') do
|
111
|
+
group.add_projects projects: [project_id]
|
112
|
+
end
|
113
|
+
expect(group.group_id).to eq(third_group_id)
|
94
114
|
end
|
95
115
|
|
96
116
|
specify '#remove_projects_from_group' do
|
@@ -101,6 +121,16 @@ RSpec.describe Lokalise::Client do
|
|
101
121
|
expect(group.group_id).to eq(third_group_id)
|
102
122
|
expect(group.team_id).to eq(team_id)
|
103
123
|
expect(group.projects).to be_empty
|
124
|
+
|
125
|
+
reloaded_group = VCR.use_cassette('another_team_user_group') do
|
126
|
+
group.reload_data
|
127
|
+
end
|
128
|
+
expect(reloaded_group.group_id).to eq(group.group_id)
|
129
|
+
|
130
|
+
group = VCR.use_cassette('remove_projects_from_group') do
|
131
|
+
group.remove_projects projects: [project_id]
|
132
|
+
end
|
133
|
+
expect(group.group_id).to eq(third_group_id)
|
104
134
|
end
|
105
135
|
|
106
136
|
specify '#add_users_to_group' do
|
@@ -111,6 +141,15 @@ RSpec.describe Lokalise::Client do
|
|
111
141
|
expect(group.team_id).to eq(team_id)
|
112
142
|
expect(group.group_id).to eq(third_group_id)
|
113
143
|
expect(group.members).to include(user_id)
|
144
|
+
|
145
|
+
reloaded_group = VCR.use_cassette('another_team_user_group') do
|
146
|
+
group.reload_data
|
147
|
+
end
|
148
|
+
expect(reloaded_group.group_id).to eq(group.group_id)
|
149
|
+
|
150
|
+
group = VCR.use_cassette('add_users_to_group') do
|
151
|
+
group.add_users users: [user_id]
|
152
|
+
end
|
114
153
|
end
|
115
154
|
|
116
155
|
specify '#remove_users_from_group' do
|
@@ -121,6 +160,15 @@ RSpec.describe Lokalise::Client do
|
|
121
160
|
expect(group.group_id).to eq(third_group_id)
|
122
161
|
expect(group.team_id).to eq(team_id)
|
123
162
|
expect(group.members).to be_empty
|
163
|
+
|
164
|
+
reloaded_group = VCR.use_cassette('another_team_user_group') do
|
165
|
+
group.reload_data
|
166
|
+
end
|
167
|
+
expect(reloaded_group.group_id).to eq(group.group_id)
|
168
|
+
|
169
|
+
group = VCR.use_cassette('remove_users_from_group') do
|
170
|
+
group.remove_users users: [user_id]
|
171
|
+
end
|
124
172
|
end
|
125
173
|
|
126
174
|
context 'when team user group methods are chained' do
|
@@ -160,6 +208,15 @@ RSpec.describe Lokalise::Client do
|
|
160
208
|
expect(group.group_id).to eq(group_id)
|
161
209
|
expect(group.projects).to include(another_project_id)
|
162
210
|
|
211
|
+
group = VCR.use_cassette('add_project_to_group_chained') do
|
212
|
+
group.add_projects(projects: [another_project_id])
|
213
|
+
end
|
214
|
+
|
215
|
+
reloaded_group = VCR.use_cassette('team_user_group') do
|
216
|
+
group.reload_data
|
217
|
+
end
|
218
|
+
expect(reloaded_group.group_id).to eq(group.group_id)
|
219
|
+
|
163
220
|
group = VCR.use_cassette('remove_project_from_group_chained') do
|
164
221
|
group.remove_projects(projects: [another_project_id])
|
165
222
|
end
|
@@ -167,6 +224,15 @@ RSpec.describe Lokalise::Client do
|
|
167
224
|
expect(group.team_id).to eq(team_id)
|
168
225
|
expect(group.group_id).to eq(group_id)
|
169
226
|
expect(group.projects).not_to include(another_project_id)
|
227
|
+
|
228
|
+
group = VCR.use_cassette('remove_project_from_group_chained') do
|
229
|
+
group.remove_projects(projects: [another_project_id])
|
230
|
+
end
|
231
|
+
|
232
|
+
reloaded_group = VCR.use_cassette('team_user_group') do
|
233
|
+
group.reload_data
|
234
|
+
end
|
235
|
+
expect(reloaded_group.group_id).to eq(group.group_id)
|
170
236
|
end
|
171
237
|
|
172
238
|
it 'supports users management' do
|
@@ -182,6 +248,15 @@ RSpec.describe Lokalise::Client do
|
|
182
248
|
expect(group.group_id).to eq(group_id)
|
183
249
|
expect(group.members).to include(user_id)
|
184
250
|
|
251
|
+
group = VCR.use_cassette('add_user_to_group_chained') do
|
252
|
+
group.add_users(users: [user_id])
|
253
|
+
end
|
254
|
+
|
255
|
+
reloaded_group = VCR.use_cassette('team_user_group') do
|
256
|
+
group.reload_data
|
257
|
+
end
|
258
|
+
expect(reloaded_group.group_id).to eq(group.group_id)
|
259
|
+
|
185
260
|
group = VCR.use_cassette('remove_user_from_group_chained') do
|
186
261
|
group.remove_users(users: [user_id])
|
187
262
|
end
|
@@ -189,6 +264,15 @@ RSpec.describe Lokalise::Client do
|
|
189
264
|
expect(group.team_id).to eq(team_id)
|
190
265
|
expect(group.group_id).to eq(group_id)
|
191
266
|
expect(group.members).not_to include(user_id)
|
267
|
+
|
268
|
+
group = VCR.use_cassette('remove_user_from_group_chained') do
|
269
|
+
group.remove_users(users: [user_id])
|
270
|
+
end
|
271
|
+
|
272
|
+
reloaded_group = VCR.use_cassette('team_user_group') do
|
273
|
+
group.reload_data
|
274
|
+
end
|
275
|
+
expect(reloaded_group.group_id).to eq(group.group_id)
|
192
276
|
end
|
193
277
|
end
|
194
278
|
end
|
@@ -33,6 +33,7 @@ RSpec.describe Lokalise::Client do
|
|
33
33
|
test_client.team_user team_id, '20181'
|
34
34
|
end
|
35
35
|
|
36
|
+
expect(team_user.team_id).to eq(team_id)
|
36
37
|
expect(team_user.user_id).to eq(20_181)
|
37
38
|
expect(team_user.email).to eq('bodrovis@protonmail.com')
|
38
39
|
expect(team_user.fullname).to eq('Ilya B')
|
@@ -41,6 +42,18 @@ RSpec.describe Lokalise::Client do
|
|
41
42
|
expect(team_user.role).to eq('owner')
|
42
43
|
end
|
43
44
|
|
45
|
+
specify '#reload_data' do
|
46
|
+
team_user = VCR.use_cassette('team_user') do
|
47
|
+
test_client.team_user team_id, '20181'
|
48
|
+
end
|
49
|
+
|
50
|
+
reloaded_team_user = VCR.use_cassette('team_user') do
|
51
|
+
team_user.reload_data
|
52
|
+
end
|
53
|
+
|
54
|
+
expect(reloaded_team_user.user_id).to eq(team_user.user_id)
|
55
|
+
end
|
56
|
+
|
44
57
|
specify '#update_team_user' do
|
45
58
|
team_user = VCR.use_cassette('update_team_user') do
|
46
59
|
test_client.update_team_user team_id, team_user_id, role: 'admin'
|
@@ -39,5 +39,10 @@ RSpec.describe Lokalise::Client do
|
|
39
39
|
expect(provider.description.start_with?('At')).to eq(true)
|
40
40
|
expect(provider.tiers.first['title']).to eq('Native speaker')
|
41
41
|
expect(provider.pairs.first['price_per_word']).to eq('0.05')
|
42
|
+
|
43
|
+
reloaded_provider = VCR.use_cassette('translation_provider') do
|
44
|
+
provider.reload_data
|
45
|
+
end
|
46
|
+
expect(reloaded_provider.provider_id).to eq(provider.provider_id)
|
42
47
|
end
|
43
48
|
end
|
@@ -76,6 +76,18 @@ RSpec.describe Lokalise::Client do
|
|
76
76
|
expect(translation.custom_translation_statuses).to eq([])
|
77
77
|
end
|
78
78
|
|
79
|
+
specify '#reload_data' do
|
80
|
+
translation = VCR.use_cassette('translation') do
|
81
|
+
test_client.translation project_id, translation_id
|
82
|
+
end
|
83
|
+
|
84
|
+
reloaded_translation = VCR.use_cassette('translation') do
|
85
|
+
translation.reload_data
|
86
|
+
end
|
87
|
+
|
88
|
+
expect(reloaded_translation.translation_id).to eq(translation.translation_id)
|
89
|
+
end
|
90
|
+
|
79
91
|
specify '#update_translation' do
|
80
92
|
translation = VCR.use_cassette('update_translation') do
|
81
93
|
test_client.update_translation project_id, translation_id, translation: 'rspec trans',
|
@@ -4,6 +4,7 @@ RSpec.describe Lokalise::Client do
|
|
4
4
|
let(:project_id) { '803826145ba90b42d5d860.46800099' }
|
5
5
|
let(:webhook_id) { 'c7eb7e6e3c2fb2b26d0b64d0de083a5a71675b3d' }
|
6
6
|
let(:new_webhook_id) { 'b345ccc6499920c490e8f4fe9487b1378dbf1dbf' }
|
7
|
+
let(:serious_webhook_id) { '795565582e5ab15a59bb68156c7e2e9eaa1e8d1a' }
|
7
8
|
|
8
9
|
describe '#webhooks' do
|
9
10
|
it 'returns all webhooks' do
|
@@ -40,6 +41,18 @@ RSpec.describe Lokalise::Client do
|
|
40
41
|
expect(webhook.event_lang_map.first['event']).to eq('project.translation.updated')
|
41
42
|
end
|
42
43
|
|
44
|
+
specify '#reload_data' do
|
45
|
+
webhook = VCR.use_cassette('webhook') do
|
46
|
+
test_client.webhook project_id, webhook_id
|
47
|
+
end
|
48
|
+
|
49
|
+
reloaded_webhook = VCR.use_cassette('webhook') do
|
50
|
+
webhook.reload_data
|
51
|
+
end
|
52
|
+
|
53
|
+
expect(reloaded_webhook.webhook_id).to eq(webhook.webhook_id)
|
54
|
+
end
|
55
|
+
|
43
56
|
specify '#create_webhook' do
|
44
57
|
webhook = VCR.use_cassette('create_webhook') do
|
45
58
|
test_client.create_webhook project_id,
|
@@ -73,4 +86,41 @@ RSpec.describe Lokalise::Client do
|
|
73
86
|
expect(response['project_id']).to eq(project_id)
|
74
87
|
expect(response['webhook_deleted']).to eq(true)
|
75
88
|
end
|
89
|
+
|
90
|
+
specify '#regenerate_webhook_secret' do
|
91
|
+
response = VCR.use_cassette('regenerate_webhook_secret') do
|
92
|
+
test_client.regenerate_webhook_secret project_id,
|
93
|
+
serious_webhook_id
|
94
|
+
end
|
95
|
+
|
96
|
+
expect(response['project_id']).to eq(project_id)
|
97
|
+
expect(response['secret']).not_to be_nil
|
98
|
+
end
|
99
|
+
|
100
|
+
context 'when webhook chained methods are used' do
|
101
|
+
it 'supports regenerate_webhook_secret' do
|
102
|
+
webhook = VCR.use_cassette('webhook_2') do
|
103
|
+
test_client.webhook project_id, serious_webhook_id
|
104
|
+
end
|
105
|
+
|
106
|
+
expect(webhook.branch).to eq('master')
|
107
|
+
expect(webhook.webhook_id).to eq(serious_webhook_id)
|
108
|
+
|
109
|
+
response = VCR.use_cassette('regenerate_webhook_secret_2') do
|
110
|
+
webhook.regenerate_secret
|
111
|
+
end
|
112
|
+
|
113
|
+
expect(response['project_id']).to eq(project_id)
|
114
|
+
expect(response['secret']).not_to be_nil
|
115
|
+
end
|
116
|
+
|
117
|
+
it 'supports update and destroy' do
|
118
|
+
webhook = VCR.use_cassette('webhook_2') do
|
119
|
+
test_client.webhook project_id, serious_webhook_id
|
120
|
+
end
|
121
|
+
|
122
|
+
expect(webhook).to respond_to(:update)
|
123
|
+
expect(webhook).to respond_to(:destroy)
|
124
|
+
end
|
125
|
+
end
|
76
126
|
end
|