ruby-lokalise-api 6.0.0 → 6.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/README.md +1 -1
- 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 +14 -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 +2 -2
- data/lib/ruby_lokalise_api/rest/screenshots.rb +5 -5
- data/lib/ruby_lokalise_api/rest/segments.rb +3 -3
- 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_billing_details.rb +3 -3
- 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 +5 -5
- data/lib/ruby_lokalise_api/version.rb +1 -1
- data/ruby-lokalise-api.gemspec +1 -1
- metadata +18 -64
- data/spec/lib/ruby_lokalise_api/client/branches_spec.rb +0 -140
- data/spec/lib/ruby_lokalise_api/client/comments_spec.rb +0 -118
- data/spec/lib/ruby_lokalise_api/client/contributors_spec.rb +0 -132
- data/spec/lib/ruby_lokalise_api/client/custom_translation_statuses_spec.rb +0 -131
- data/spec/lib/ruby_lokalise_api/client/files_spec.rb +0 -66
- data/spec/lib/ruby_lokalise_api/client/keys_spec.rb +0 -199
- data/spec/lib/ruby_lokalise_api/client/languages_spec.rb +0 -134
- data/spec/lib/ruby_lokalise_api/client/orders_spec.rb +0 -113
- data/spec/lib/ruby_lokalise_api/client/payment_cards_spec.rb +0 -92
- data/spec/lib/ruby_lokalise_api/client/projects_spec.rb +0 -150
- data/spec/lib/ruby_lokalise_api/client/queued_processes_spec.rb +0 -57
- data/spec/lib/ruby_lokalise_api/client/screenshots_spec.rb +0 -127
- data/spec/lib/ruby_lokalise_api/client/segments_spec.rb +0 -106
- data/spec/lib/ruby_lokalise_api/client/snapshots_spec.rb +0 -117
- data/spec/lib/ruby_lokalise_api/client/tasks_spec.rb +0 -145
- data/spec/lib/ruby_lokalise_api/client/team_user_billing_details_spec.rb +0 -48
- data/spec/lib/ruby_lokalise_api/client/team_user_groups_spec.rb +0 -278
- data/spec/lib/ruby_lokalise_api/client/team_users_spec.rb +0 -95
- data/spec/lib/ruby_lokalise_api/client/teams_spec.rb +0 -25
- data/spec/lib/ruby_lokalise_api/client/translation_providers_spec.rb +0 -48
- data/spec/lib/ruby_lokalise_api/client/translations_spec.rb +0 -118
- data/spec/lib/ruby_lokalise_api/client/webhooks_spec.rb +0 -126
- data/spec/lib/ruby_lokalise_api/connection_spec.rb +0 -68
- data/spec/lib/ruby_lokalise_api/custom_json_parser_spec.rb +0 -81
- data/spec/lib/ruby_lokalise_api/error_spec.rb +0 -41
- data/spec/lib/ruby_lokalise_api/oauth2/auth_spec.rb +0 -73
- data/spec/lib/ruby_lokalise_api_spec.rb +0 -47
- data/spec/spec_helper.rb +0 -22
- data/spec/support/test_client.rb +0 -15
- data/spec/support/vcr.rb +0 -15
@@ -5,7 +5,7 @@ module RubyLokaliseApi
|
|
5
5
|
module TranslationProviders
|
6
6
|
# Returns all translation providers for the given team
|
7
7
|
#
|
8
|
-
# @see https://
|
8
|
+
# @see https://developers.lokalise.com/reference/list-all-providers
|
9
9
|
# @return [RubyLokaliseApi::Collection::TranslationProvider<RubyLokaliseApi::Resources::TranslationProvider>]
|
10
10
|
# @param team_id [String]
|
11
11
|
# @param params [Hash]
|
@@ -15,7 +15,7 @@ module RubyLokaliseApi
|
|
15
15
|
|
16
16
|
# Returns a single translation provider for the given team
|
17
17
|
#
|
18
|
-
# @see https://
|
18
|
+
# @see https://developers.lokalise.com/reference/retrieve-a-provider
|
19
19
|
# @return [RubyLokaliseApi::Resources::TranslationProvider]
|
20
20
|
# @param team_id [String]
|
21
21
|
# @param provider_id [String, Integer]
|
@@ -5,7 +5,7 @@ module RubyLokaliseApi
|
|
5
5
|
module Translations
|
6
6
|
# Returns all translations for the given project (ungrouped)
|
7
7
|
#
|
8
|
-
# @see https://
|
8
|
+
# @see https://developers.lokalise.com/reference/list-all-translations
|
9
9
|
# @return [RubyLokaliseApi::Collection::Translation<RubyLokaliseApi::Resources::Translation>]
|
10
10
|
# @param project_id [String]
|
11
11
|
# @param params [Hash]
|
@@ -15,7 +15,7 @@ module RubyLokaliseApi
|
|
15
15
|
|
16
16
|
# Returns translation of the given project
|
17
17
|
#
|
18
|
-
# @see https://
|
18
|
+
# @see https://developers.lokalise.com/reference/retrieve-a-translation
|
19
19
|
# @return [RubyLokaliseApi::Resources::Translation]
|
20
20
|
# @param project_id [String]
|
21
21
|
# @param translation_id [String, Integer]
|
@@ -26,7 +26,7 @@ module RubyLokaliseApi
|
|
26
26
|
|
27
27
|
# Updates translation of the given project
|
28
28
|
#
|
29
|
-
# @see https://
|
29
|
+
# @see https://developers.lokalise.com/reference/update-a-translation
|
30
30
|
# @return [RubyLokaliseApi::Resources::Translation]
|
31
31
|
# @param project_id [String]
|
32
32
|
# @param translation_id [String, Integer]
|
@@ -5,7 +5,7 @@ module RubyLokaliseApi
|
|
5
5
|
module Webhooks
|
6
6
|
# Returns all webhooks for the given project
|
7
7
|
#
|
8
|
-
# @see https://
|
8
|
+
# @see https://developers.lokalise.com/reference/list-all-webhooks
|
9
9
|
# @return [RubyLokaliseApi::Collection::Webhook<RubyLokaliseApi::Resources::Webhook>]
|
10
10
|
# @param project_id [String]
|
11
11
|
# @param params [Hash]
|
@@ -15,7 +15,7 @@ module RubyLokaliseApi
|
|
15
15
|
|
16
16
|
# Returns a single webhook for the given project
|
17
17
|
#
|
18
|
-
# @see https://
|
18
|
+
# @see https://developers.lokalise.com/reference/retrieve-a-webhook
|
19
19
|
# @return [RubyLokaliseApi::Resources::Webhook]
|
20
20
|
# @param project_id [String]
|
21
21
|
# @param webhook_id [String, Integer]
|
@@ -25,7 +25,7 @@ module RubyLokaliseApi
|
|
25
25
|
|
26
26
|
# Creates webhook for the given project
|
27
27
|
#
|
28
|
-
# @see https://
|
28
|
+
# @see https://developers.lokalise.com/reference/create-a-webhook
|
29
29
|
# @return [RubyLokaliseApi::Resources::Webhook]
|
30
30
|
# @param project_id [String]
|
31
31
|
# @param params [Hash]
|
@@ -35,7 +35,7 @@ module RubyLokaliseApi
|
|
35
35
|
|
36
36
|
# Updates webhook for the given project
|
37
37
|
#
|
38
|
-
# @see https://
|
38
|
+
# @see https://developers.lokalise.com/reference/update-a-webhook
|
39
39
|
# @return [RubyLokaliseApi::Resources::Webhook]
|
40
40
|
# @param project_id [String]
|
41
41
|
# @param webhook_id [String, Integer]
|
@@ -46,7 +46,7 @@ module RubyLokaliseApi
|
|
46
46
|
|
47
47
|
# Deletes webhook for the given project
|
48
48
|
#
|
49
|
-
# @see https://
|
49
|
+
# @see https://developers.lokalise.com/reference/delete-a-webhook
|
50
50
|
# @return [Hash]
|
51
51
|
# @param project_id [String]
|
52
52
|
# @param webhook_id [String, Integer]
|
data/ruby-lokalise-api.gemspec
CHANGED
@@ -18,7 +18,6 @@ Gem::Specification.new do |spec|
|
|
18
18
|
'CHANGELOG.md', 'lib/**/*.rb', 'lib/ruby_lokalise_api/data/attributes.yml',
|
19
19
|
'ruby-lokalise-api.gemspec', '.github/*.md',
|
20
20
|
'Gemfile', 'Rakefile']
|
21
|
-
spec.test_files = Dir['spec/**/*.rb']
|
22
21
|
spec.extra_rdoc_files = ['README.md']
|
23
22
|
spec.require_paths = ['lib']
|
24
23
|
|
@@ -38,6 +37,7 @@ Gem::Specification.new do |spec|
|
|
38
37
|
spec.add_development_dependency 'rubocop-rspec', '~> 2.0'
|
39
38
|
spec.add_development_dependency 'simplecov', '~> 0.16'
|
40
39
|
spec.add_development_dependency 'vcr', '~> 6.0'
|
40
|
+
spec.add_development_dependency 'webmock', '~> 3.14'
|
41
41
|
spec.metadata = {
|
42
42
|
'rubygems_mfa_required' => 'true'
|
43
43
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-lokalise-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ilya Bodrov-Krukowski
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -220,6 +220,20 @@ dependencies:
|
|
220
220
|
- - "~>"
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: '6.0'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: webmock
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - "~>"
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '3.14'
|
230
|
+
type: :development
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - "~>"
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '3.14'
|
223
237
|
description: Opinionated Ruby client for the Lokalise platform API allowing to work
|
224
238
|
with translations, projects, users and other resources as with Ruby objects.
|
225
239
|
email:
|
@@ -325,36 +339,6 @@ files:
|
|
325
339
|
- lib/ruby_lokalise_api/utils/string_utils.rb
|
326
340
|
- lib/ruby_lokalise_api/version.rb
|
327
341
|
- ruby-lokalise-api.gemspec
|
328
|
-
- spec/lib/ruby_lokalise_api/client/branches_spec.rb
|
329
|
-
- spec/lib/ruby_lokalise_api/client/comments_spec.rb
|
330
|
-
- spec/lib/ruby_lokalise_api/client/contributors_spec.rb
|
331
|
-
- spec/lib/ruby_lokalise_api/client/custom_translation_statuses_spec.rb
|
332
|
-
- spec/lib/ruby_lokalise_api/client/files_spec.rb
|
333
|
-
- spec/lib/ruby_lokalise_api/client/keys_spec.rb
|
334
|
-
- spec/lib/ruby_lokalise_api/client/languages_spec.rb
|
335
|
-
- spec/lib/ruby_lokalise_api/client/orders_spec.rb
|
336
|
-
- spec/lib/ruby_lokalise_api/client/payment_cards_spec.rb
|
337
|
-
- spec/lib/ruby_lokalise_api/client/projects_spec.rb
|
338
|
-
- spec/lib/ruby_lokalise_api/client/queued_processes_spec.rb
|
339
|
-
- spec/lib/ruby_lokalise_api/client/screenshots_spec.rb
|
340
|
-
- spec/lib/ruby_lokalise_api/client/segments_spec.rb
|
341
|
-
- spec/lib/ruby_lokalise_api/client/snapshots_spec.rb
|
342
|
-
- spec/lib/ruby_lokalise_api/client/tasks_spec.rb
|
343
|
-
- spec/lib/ruby_lokalise_api/client/team_user_billing_details_spec.rb
|
344
|
-
- spec/lib/ruby_lokalise_api/client/team_user_groups_spec.rb
|
345
|
-
- spec/lib/ruby_lokalise_api/client/team_users_spec.rb
|
346
|
-
- spec/lib/ruby_lokalise_api/client/teams_spec.rb
|
347
|
-
- spec/lib/ruby_lokalise_api/client/translation_providers_spec.rb
|
348
|
-
- spec/lib/ruby_lokalise_api/client/translations_spec.rb
|
349
|
-
- spec/lib/ruby_lokalise_api/client/webhooks_spec.rb
|
350
|
-
- spec/lib/ruby_lokalise_api/connection_spec.rb
|
351
|
-
- spec/lib/ruby_lokalise_api/custom_json_parser_spec.rb
|
352
|
-
- spec/lib/ruby_lokalise_api/error_spec.rb
|
353
|
-
- spec/lib/ruby_lokalise_api/oauth2/auth_spec.rb
|
354
|
-
- spec/lib/ruby_lokalise_api_spec.rb
|
355
|
-
- spec/spec_helper.rb
|
356
|
-
- spec/support/test_client.rb
|
357
|
-
- spec/support/vcr.rb
|
358
342
|
homepage: https://github.com/lokalise/ruby-lokalise-api
|
359
343
|
licenses:
|
360
344
|
- BSD-3-Clause
|
@@ -375,38 +359,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
375
359
|
- !ruby/object:Gem::Version
|
376
360
|
version: '0'
|
377
361
|
requirements: []
|
378
|
-
rubygems_version: 3.3.
|
362
|
+
rubygems_version: 3.3.17
|
379
363
|
signing_key:
|
380
364
|
specification_version: 4
|
381
365
|
summary: Ruby interface to the Lokalise API
|
382
|
-
test_files:
|
383
|
-
- spec/lib/ruby_lokalise_api/client/branches_spec.rb
|
384
|
-
- spec/lib/ruby_lokalise_api/client/comments_spec.rb
|
385
|
-
- spec/lib/ruby_lokalise_api/client/contributors_spec.rb
|
386
|
-
- spec/lib/ruby_lokalise_api/client/custom_translation_statuses_spec.rb
|
387
|
-
- spec/lib/ruby_lokalise_api/client/files_spec.rb
|
388
|
-
- spec/lib/ruby_lokalise_api/client/keys_spec.rb
|
389
|
-
- spec/lib/ruby_lokalise_api/client/languages_spec.rb
|
390
|
-
- spec/lib/ruby_lokalise_api/client/orders_spec.rb
|
391
|
-
- spec/lib/ruby_lokalise_api/client/payment_cards_spec.rb
|
392
|
-
- spec/lib/ruby_lokalise_api/client/projects_spec.rb
|
393
|
-
- spec/lib/ruby_lokalise_api/client/queued_processes_spec.rb
|
394
|
-
- spec/lib/ruby_lokalise_api/client/screenshots_spec.rb
|
395
|
-
- spec/lib/ruby_lokalise_api/client/segments_spec.rb
|
396
|
-
- spec/lib/ruby_lokalise_api/client/snapshots_spec.rb
|
397
|
-
- spec/lib/ruby_lokalise_api/client/tasks_spec.rb
|
398
|
-
- spec/lib/ruby_lokalise_api/client/team_user_billing_details_spec.rb
|
399
|
-
- spec/lib/ruby_lokalise_api/client/team_user_groups_spec.rb
|
400
|
-
- spec/lib/ruby_lokalise_api/client/team_users_spec.rb
|
401
|
-
- spec/lib/ruby_lokalise_api/client/teams_spec.rb
|
402
|
-
- spec/lib/ruby_lokalise_api/client/translation_providers_spec.rb
|
403
|
-
- spec/lib/ruby_lokalise_api/client/translations_spec.rb
|
404
|
-
- spec/lib/ruby_lokalise_api/client/webhooks_spec.rb
|
405
|
-
- spec/lib/ruby_lokalise_api/connection_spec.rb
|
406
|
-
- spec/lib/ruby_lokalise_api/custom_json_parser_spec.rb
|
407
|
-
- spec/lib/ruby_lokalise_api/error_spec.rb
|
408
|
-
- spec/lib/ruby_lokalise_api/oauth2/auth_spec.rb
|
409
|
-
- spec/lib/ruby_lokalise_api_spec.rb
|
410
|
-
- spec/spec_helper.rb
|
411
|
-
- spec/support/test_client.rb
|
412
|
-
- spec/support/vcr.rb
|
366
|
+
test_files: []
|
@@ -1,140 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe RubyLokaliseApi::Client do
|
4
|
-
let(:project_id) { '803826145ba90b42d5d860.46800099' }
|
5
|
-
let(:branch_id) { 41_302 }
|
6
|
-
|
7
|
-
describe '#branches' do
|
8
|
-
it 'returns all branches' do
|
9
|
-
branches = VCR.use_cassette('all_branches') do
|
10
|
-
test_client.branches project_id
|
11
|
-
end.collection
|
12
|
-
|
13
|
-
expect(branches.count).to eq(4)
|
14
|
-
end
|
15
|
-
|
16
|
-
it 'supports pagination' do
|
17
|
-
branches = VCR.use_cassette('all_branches_pagination') do
|
18
|
-
test_client.branches project_id, limit: 2, page: 2
|
19
|
-
end
|
20
|
-
|
21
|
-
expect(branches.collection.count).to eq(2)
|
22
|
-
expect(branches.total_results).to eq(4)
|
23
|
-
expect(branches.total_pages).to eq(2)
|
24
|
-
expect(branches.results_per_page).to eq(2)
|
25
|
-
expect(branches.current_page).to eq(2)
|
26
|
-
expect(branches.collection.first.name).to eq('merge-me')
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
specify '#branch' do
|
31
|
-
branch = VCR.use_cassette('branch') do
|
32
|
-
test_client.branch project_id, branch_id
|
33
|
-
end
|
34
|
-
|
35
|
-
expect(branch.branch_id).to eq(branch_id)
|
36
|
-
expect(branch.name).to eq('ruby-branch')
|
37
|
-
expect(branch.created_at).to eq('2019-10-30 14:24:41 (Etc/UTC)')
|
38
|
-
expect(branch.created_at_timestamp).to eq(1_572_445_481)
|
39
|
-
expect(branch.created_by).to eq(20_181)
|
40
|
-
expect(branch.created_by_email).to eq('bodrovis@protonmail.com')
|
41
|
-
end
|
42
|
-
|
43
|
-
specify '#reload_data' do
|
44
|
-
branch = VCR.use_cassette('branch') do
|
45
|
-
test_client.branch project_id, branch_id
|
46
|
-
end
|
47
|
-
|
48
|
-
reloaded_branch = VCR.use_cassette('branch') do
|
49
|
-
branch.reload_data
|
50
|
-
end
|
51
|
-
|
52
|
-
expect(reloaded_branch.branch_id).to eq(branch.branch_id)
|
53
|
-
end
|
54
|
-
|
55
|
-
specify '#create_branch' do
|
56
|
-
branch = VCR.use_cassette('create_branch') do
|
57
|
-
test_client.create_branch project_id, name: 'ruby-branch'
|
58
|
-
end
|
59
|
-
|
60
|
-
expect(branch.name).to eq('ruby-branch')
|
61
|
-
end
|
62
|
-
|
63
|
-
specify '#update_branch' do
|
64
|
-
branch = VCR.use_cassette('update_branch') do
|
65
|
-
test_client.update_branch project_id, branch_id, name: 'updated-ruby-branch'
|
66
|
-
end
|
67
|
-
|
68
|
-
expect(branch.name).to eq('updated-ruby-branch')
|
69
|
-
end
|
70
|
-
|
71
|
-
specify '#destroy_branch' do
|
72
|
-
response = VCR.use_cassette('destroy_branch') do
|
73
|
-
test_client.destroy_branch project_id, branch_id
|
74
|
-
end
|
75
|
-
|
76
|
-
expect(response['project_id']).to eq(project_id)
|
77
|
-
expect(response['branch_deleted']).to be(true)
|
78
|
-
end
|
79
|
-
|
80
|
-
specify '#merge_branch' do
|
81
|
-
branch = VCR.use_cassette('create_branch_to_merge') do
|
82
|
-
test_client.create_branch project_id, name: 'merge-me'
|
83
|
-
end
|
84
|
-
|
85
|
-
expect(branch.name).to eq('merge-me')
|
86
|
-
|
87
|
-
branch_id = branch.branch_id
|
88
|
-
|
89
|
-
response = VCR.use_cassette('merge_branch') do
|
90
|
-
test_client.merge_branch project_id, branch_id, force_conflict_resolve_using: 'master'
|
91
|
-
end
|
92
|
-
|
93
|
-
expect(response['project_id']).to eq(project_id)
|
94
|
-
expect(response['branch_merged']).to be(true)
|
95
|
-
expect(response['branch']['branch_id']).to eq(branch_id)
|
96
|
-
expect(response['branch']['name']).to eq(branch.name)
|
97
|
-
end
|
98
|
-
|
99
|
-
context 'when branch methods are chained' do
|
100
|
-
it 'supports merge' do
|
101
|
-
branch = VCR.use_cassette('create_branch_to_merge2') do
|
102
|
-
test_client.create_branch project_id, name: 'merge-me-plz'
|
103
|
-
end
|
104
|
-
|
105
|
-
expect(branch.name).to eq('merge-me-plz')
|
106
|
-
|
107
|
-
branch_id = branch.branch_id
|
108
|
-
|
109
|
-
response = VCR.use_cassette('merge_branch_chained') do
|
110
|
-
branch.merge force_conflict_resolve_using: 'master'
|
111
|
-
end
|
112
|
-
|
113
|
-
expect(response['project_id']).to eq(project_id)
|
114
|
-
expect(response['branch_merged']).to be(true)
|
115
|
-
expect(response['branch']['branch_id']).to eq(branch_id)
|
116
|
-
expect(response['branch']['name']).to eq(branch.name)
|
117
|
-
end
|
118
|
-
|
119
|
-
it 'supports update and destroy' do
|
120
|
-
branch = VCR.use_cassette('create_another_branch') do
|
121
|
-
test_client.create_branch project_id, name: 'ruby-second-branch'
|
122
|
-
end
|
123
|
-
|
124
|
-
expect(branch.name).to eq('ruby-second-branch')
|
125
|
-
|
126
|
-
branch = VCR.use_cassette('update_another_branch') do
|
127
|
-
branch.update name: 'updated-ruby-second-branch'
|
128
|
-
end
|
129
|
-
|
130
|
-
expect(branch.name).to eq('updated-ruby-second-branch')
|
131
|
-
|
132
|
-
response = VCR.use_cassette('destroy_another_branch') do
|
133
|
-
branch.destroy
|
134
|
-
end
|
135
|
-
|
136
|
-
expect(response['project_id']).to eq(project_id)
|
137
|
-
expect(response['branch_deleted']).to be(true)
|
138
|
-
end
|
139
|
-
end
|
140
|
-
end
|
@@ -1,118 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe RubyLokaliseApi::Client do
|
4
|
-
let(:project_id) { '803826145ba90b42d5d860.46800099' }
|
5
|
-
let(:key_id) { 15_305_182 }
|
6
|
-
let(:another_key_id) { 15_519_786 }
|
7
|
-
|
8
|
-
describe '#comments' do
|
9
|
-
it 'returns all comments' do
|
10
|
-
comments = VCR.use_cassette('all_comments') do
|
11
|
-
test_client.comments project_id, key_id
|
12
|
-
end.collection
|
13
|
-
|
14
|
-
expect(comments.count).to eq(3)
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'supports pagination' do
|
18
|
-
comments = VCR.use_cassette('all_comments_pagination') do
|
19
|
-
test_client.comments project_id, key_id, limit: 1, page: 2
|
20
|
-
end
|
21
|
-
|
22
|
-
expect(comments.collection.count).to eq(1)
|
23
|
-
expect(comments.total_results).to eq(3)
|
24
|
-
expect(comments.total_pages).to eq(3)
|
25
|
-
expect(comments.results_per_page).to eq(1)
|
26
|
-
expect(comments.current_page).to eq(2)
|
27
|
-
expect(comments.collection.first.comment).to eq('demo comment')
|
28
|
-
|
29
|
-
expect(comments.next_page?).to be(true)
|
30
|
-
expect(comments.last_page?).to be(false)
|
31
|
-
expect(comments.prev_page?).to be(true)
|
32
|
-
expect(comments.first_page?).to be(false)
|
33
|
-
|
34
|
-
expect(comments.client).to be_an_instance_of(described_class)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
specify '#comment' do
|
39
|
-
comment = VCR.use_cassette('comment') do
|
40
|
-
test_client.comment project_id, another_key_id, '800746'
|
41
|
-
end
|
42
|
-
|
43
|
-
expect(comment.comment).to eq('rspec comment')
|
44
|
-
expect(comment.comment_id).to eq(800_746)
|
45
|
-
expect(comment.key_id).to eq(another_key_id)
|
46
|
-
expect(comment.added_by).to eq(20_181)
|
47
|
-
expect(comment.added_by_email).to eq('bodrovis@protonmail.com')
|
48
|
-
expect(comment.added_at).to eq('2018-12-09 18:41:44 (Etc/UTC)')
|
49
|
-
expect(comment.added_at_timestamp).to eq(1_544_380_904)
|
50
|
-
end
|
51
|
-
|
52
|
-
specify '#reload_data' do
|
53
|
-
comment = VCR.use_cassette('comment') do
|
54
|
-
test_client.comment project_id, another_key_id, '800746'
|
55
|
-
end
|
56
|
-
|
57
|
-
reloaded_comment = VCR.use_cassette('comment') do
|
58
|
-
comment.reload_data
|
59
|
-
end
|
60
|
-
|
61
|
-
expect(reloaded_comment.key_id).to eq(comment.key_id)
|
62
|
-
end
|
63
|
-
|
64
|
-
specify '#create_comments' do
|
65
|
-
comments = VCR.use_cassette('create_comments') do
|
66
|
-
test_client.create_comments project_id, key_id, [
|
67
|
-
{comment: 'demo comment'},
|
68
|
-
{comment: 'from rspec'}
|
69
|
-
]
|
70
|
-
end
|
71
|
-
|
72
|
-
first_comment = comments.collection.first
|
73
|
-
second_comment = comments.collection[1]
|
74
|
-
|
75
|
-
expect(comments.project_id).to eq(project_id)
|
76
|
-
expect(first_comment.comment).to eq('demo comment')
|
77
|
-
expect(first_comment.key_id).to eq(key_id)
|
78
|
-
expect(second_comment.comment).to eq('from rspec')
|
79
|
-
expect(second_comment.key_id).to eq(key_id)
|
80
|
-
end
|
81
|
-
|
82
|
-
specify '#project_comments' do
|
83
|
-
comments = VCR.use_cassette('project_comments') do
|
84
|
-
test_client.project_comments project_id
|
85
|
-
end
|
86
|
-
|
87
|
-
comment = comments.collection.first
|
88
|
-
|
89
|
-
expect(comments.total_results).to eq(3)
|
90
|
-
expect(comment.comment).to eq('test')
|
91
|
-
expect(comment.comment_id).to eq(767_938)
|
92
|
-
end
|
93
|
-
|
94
|
-
specify '#destroy_comment' do
|
95
|
-
response = VCR.use_cassette('delete_comment') do
|
96
|
-
test_client.destroy_comment project_id, key_id, 767_938
|
97
|
-
end
|
98
|
-
expect(response['project_id']).to eq(project_id)
|
99
|
-
expect(response['comment_deleted']).to be(true)
|
100
|
-
end
|
101
|
-
|
102
|
-
context 'when comment methods are chained' do
|
103
|
-
it 'supports destroy' do
|
104
|
-
comment = VCR.use_cassette('create_another_comment') do
|
105
|
-
test_client.create_comments project_id, another_key_id, comment: 'chained comment'
|
106
|
-
end.collection.first
|
107
|
-
|
108
|
-
expect(comment.comment).to eq('chained comment')
|
109
|
-
|
110
|
-
delete_response = VCR.use_cassette('delete_comment_chained') do
|
111
|
-
comment.destroy
|
112
|
-
end
|
113
|
-
|
114
|
-
expect(delete_response['project_id']).to eq(project_id)
|
115
|
-
expect(delete_response['comment_deleted']).to be(true)
|
116
|
-
end
|
117
|
-
end
|
118
|
-
end
|
@@ -1,132 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe RubyLokaliseApi::Client do
|
4
|
-
let(:project_id) { '803826145ba90b42d5d860.46800099' }
|
5
|
-
let(:contributor_id) { 25_953 }
|
6
|
-
|
7
|
-
describe '#contributors' do
|
8
|
-
it 'returns all contributors' do
|
9
|
-
contributors = VCR.use_cassette('all_contributors') do
|
10
|
-
test_client.contributors project_id
|
11
|
-
end.collection
|
12
|
-
|
13
|
-
expect(contributors.count).to eq(2)
|
14
|
-
expect(contributors.first.fullname).to eq('John Doe')
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'supports pagination' do
|
18
|
-
contributors = VCR.use_cassette('all_contributors_pagination') do
|
19
|
-
test_client.contributors project_id, limit: 1, page: 2
|
20
|
-
end
|
21
|
-
|
22
|
-
expect(contributors.collection.count).to eq(1)
|
23
|
-
expect(contributors.total_results).to eq(2)
|
24
|
-
expect(contributors.total_pages).to eq(2)
|
25
|
-
expect(contributors.results_per_page).to eq(1)
|
26
|
-
expect(contributors.current_page).to eq(2)
|
27
|
-
|
28
|
-
expect(contributors.next_page?).to be(false)
|
29
|
-
expect(contributors.last_page?).to be(true)
|
30
|
-
expect(contributors.prev_page?).to be(true)
|
31
|
-
expect(contributors.first_page?).to be(false)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
specify '#contributor' do
|
36
|
-
contributor = VCR.use_cassette('contributor') do
|
37
|
-
test_client.contributor project_id, '20181'
|
38
|
-
end
|
39
|
-
|
40
|
-
expect(contributor.user_id).to eq(20_181)
|
41
|
-
expect(contributor.email).to eq('bodrovis@protonmail.com')
|
42
|
-
expect(contributor.fullname).to eq('Ilya B')
|
43
|
-
expect(contributor.created_at).to eq('2018-08-21 15:35:25 (Etc/UTC)')
|
44
|
-
expect(contributor.is_admin).to be(true)
|
45
|
-
expect(contributor.is_reviewer).to be(true)
|
46
|
-
expect(contributor.languages.first['lang_id']).to eq(803)
|
47
|
-
expect(contributor.admin_rights.first).to eq('upload')
|
48
|
-
expect(contributor.created_at_timestamp).to eq(1_534_865_725)
|
49
|
-
end
|
50
|
-
|
51
|
-
specify '#reload_data' do
|
52
|
-
contributor = VCR.use_cassette('contributor') do
|
53
|
-
test_client.contributor project_id, '20181'
|
54
|
-
end
|
55
|
-
|
56
|
-
reloaded_contributor = VCR.use_cassette('contributor') do
|
57
|
-
contributor.reload_data
|
58
|
-
end
|
59
|
-
|
60
|
-
expect(reloaded_contributor.user_id).to eq(contributor.user_id)
|
61
|
-
end
|
62
|
-
|
63
|
-
specify '#create_contributors' do
|
64
|
-
contributor = VCR.use_cassette('create_contributors') do
|
65
|
-
test_client.create_contributors project_id,
|
66
|
-
email: 'rspec@test.com',
|
67
|
-
fullname: 'Rspec test',
|
68
|
-
languages: [{
|
69
|
-
lang_iso: 'en'
|
70
|
-
},
|
71
|
-
{
|
72
|
-
lang_iso: 'ru'
|
73
|
-
}]
|
74
|
-
end.collection.first
|
75
|
-
|
76
|
-
expect(contributor.fullname).to eq('Rspec test')
|
77
|
-
expect(contributor.email).to eq('rspec@test.com')
|
78
|
-
expect(contributor.languages[1]['lang_iso']).to eq('ru')
|
79
|
-
end
|
80
|
-
|
81
|
-
specify '#update_contributor' do
|
82
|
-
contributor = VCR.use_cassette('update_contributor') do
|
83
|
-
test_client.update_contributor project_id, contributor_id,
|
84
|
-
languages: [{lang_iso: 'en'}]
|
85
|
-
end
|
86
|
-
|
87
|
-
expect(contributor.user_id).to eq(contributor_id)
|
88
|
-
expect(contributor.languages[0]['lang_iso']).to eq('en')
|
89
|
-
expect(contributor.languages.length).to eq(1)
|
90
|
-
end
|
91
|
-
|
92
|
-
specify '#destroy_contributor' do
|
93
|
-
response = VCR.use_cassette('delete_contributor') do
|
94
|
-
test_client.destroy_contributor project_id, contributor_id
|
95
|
-
end
|
96
|
-
expect(response['project_id']).to eq(project_id)
|
97
|
-
expect(response['contributor_deleted']).to be(true)
|
98
|
-
end
|
99
|
-
|
100
|
-
context 'when contributor methods are chained' do
|
101
|
-
it 'supports update and destroy' do
|
102
|
-
contributor = VCR.use_cassette('create_another_contributor') do
|
103
|
-
test_client.create_contributors project_id,
|
104
|
-
email: 'demo@test.com',
|
105
|
-
fullname: 'chained',
|
106
|
-
languages: [{lang_iso: 'en'}]
|
107
|
-
end.collection.first
|
108
|
-
|
109
|
-
expect(contributor.client.token).to eq(test_client.token)
|
110
|
-
expect(contributor.fullname).to eq('chained')
|
111
|
-
|
112
|
-
id = contributor.user_id
|
113
|
-
path = contributor.path
|
114
|
-
|
115
|
-
updated_contributor = VCR.use_cassette('update_contributor_chained') do
|
116
|
-
contributor.update fullname: 'updated!'
|
117
|
-
end
|
118
|
-
|
119
|
-
expect(updated_contributor.client.token).to eq(test_client.token)
|
120
|
-
expect(updated_contributor.fullname).to eq('updated!')
|
121
|
-
expect(updated_contributor.user_id).to eq(id)
|
122
|
-
expect(updated_contributor.path).to eq(path)
|
123
|
-
|
124
|
-
delete_response = VCR.use_cassette('delete_contributor_chained') do
|
125
|
-
updated_contributor.destroy
|
126
|
-
end
|
127
|
-
|
128
|
-
expect(delete_response['project_id']).to eq(project_id)
|
129
|
-
expect(delete_response['contributor_deleted']).to be(true)
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|