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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/ruby_lokalise_api/rest/comments.rb +5 -5
  4. data/lib/ruby_lokalise_api/rest/contributors.rb +5 -5
  5. data/lib/ruby_lokalise_api/rest/custom_translation_statuses.rb +6 -6
  6. data/lib/ruby_lokalise_api/rest/files.rb +14 -3
  7. data/lib/ruby_lokalise_api/rest/keys.rb +7 -7
  8. data/lib/ruby_lokalise_api/rest/languages.rb +6 -6
  9. data/lib/ruby_lokalise_api/rest/payment_cards.rb +3 -3
  10. data/lib/ruby_lokalise_api/rest/projects.rb +6 -6
  11. data/lib/ruby_lokalise_api/rest/queued_processes.rb +2 -2
  12. data/lib/ruby_lokalise_api/rest/screenshots.rb +5 -5
  13. data/lib/ruby_lokalise_api/rest/segments.rb +3 -3
  14. data/lib/ruby_lokalise_api/rest/snapshots.rb +4 -4
  15. data/lib/ruby_lokalise_api/rest/tasks.rb +5 -5
  16. data/lib/ruby_lokalise_api/rest/team_user_billing_details.rb +3 -3
  17. data/lib/ruby_lokalise_api/rest/team_users.rb +4 -4
  18. data/lib/ruby_lokalise_api/rest/teams.rb +1 -1
  19. data/lib/ruby_lokalise_api/rest/translation_providers.rb +2 -2
  20. data/lib/ruby_lokalise_api/rest/translations.rb +3 -3
  21. data/lib/ruby_lokalise_api/rest/webhooks.rb +5 -5
  22. data/lib/ruby_lokalise_api/version.rb +1 -1
  23. data/ruby-lokalise-api.gemspec +1 -1
  24. metadata +18 -64
  25. data/spec/lib/ruby_lokalise_api/client/branches_spec.rb +0 -140
  26. data/spec/lib/ruby_lokalise_api/client/comments_spec.rb +0 -118
  27. data/spec/lib/ruby_lokalise_api/client/contributors_spec.rb +0 -132
  28. data/spec/lib/ruby_lokalise_api/client/custom_translation_statuses_spec.rb +0 -131
  29. data/spec/lib/ruby_lokalise_api/client/files_spec.rb +0 -66
  30. data/spec/lib/ruby_lokalise_api/client/keys_spec.rb +0 -199
  31. data/spec/lib/ruby_lokalise_api/client/languages_spec.rb +0 -134
  32. data/spec/lib/ruby_lokalise_api/client/orders_spec.rb +0 -113
  33. data/spec/lib/ruby_lokalise_api/client/payment_cards_spec.rb +0 -92
  34. data/spec/lib/ruby_lokalise_api/client/projects_spec.rb +0 -150
  35. data/spec/lib/ruby_lokalise_api/client/queued_processes_spec.rb +0 -57
  36. data/spec/lib/ruby_lokalise_api/client/screenshots_spec.rb +0 -127
  37. data/spec/lib/ruby_lokalise_api/client/segments_spec.rb +0 -106
  38. data/spec/lib/ruby_lokalise_api/client/snapshots_spec.rb +0 -117
  39. data/spec/lib/ruby_lokalise_api/client/tasks_spec.rb +0 -145
  40. data/spec/lib/ruby_lokalise_api/client/team_user_billing_details_spec.rb +0 -48
  41. data/spec/lib/ruby_lokalise_api/client/team_user_groups_spec.rb +0 -278
  42. data/spec/lib/ruby_lokalise_api/client/team_users_spec.rb +0 -95
  43. data/spec/lib/ruby_lokalise_api/client/teams_spec.rb +0 -25
  44. data/spec/lib/ruby_lokalise_api/client/translation_providers_spec.rb +0 -48
  45. data/spec/lib/ruby_lokalise_api/client/translations_spec.rb +0 -118
  46. data/spec/lib/ruby_lokalise_api/client/webhooks_spec.rb +0 -126
  47. data/spec/lib/ruby_lokalise_api/connection_spec.rb +0 -68
  48. data/spec/lib/ruby_lokalise_api/custom_json_parser_spec.rb +0 -81
  49. data/spec/lib/ruby_lokalise_api/error_spec.rb +0 -41
  50. data/spec/lib/ruby_lokalise_api/oauth2/auth_spec.rb +0 -73
  51. data/spec/lib/ruby_lokalise_api_spec.rb +0 -47
  52. data/spec/spec_helper.rb +0 -22
  53. data/spec/support/test_client.rb +0 -15
  54. 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://app.lokalise.com/api2docs/curl/#transition-list-all-providers-get
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://app.lokalise.com/api2docs/curl/#transition-retrieve-a-provider-get
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://app.lokalise.com/api2docs/curl/#transition-list-all-translations-get
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://app.lokalise.com/api2docs/curl/#transition-retrieve-a-translation-get
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://app.lokalise.com/api2docs/curl/#transition-update-a-translation-put
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://app.lokalise.com/api2docs/curl/#transition-list-all-webhooks-get
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://app.lokalise.com/api2docs/curl/#transition-retrieve-a-webhook-get
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://app.lokalise.com/api2docs/curl/#transition-create-a-webhook-post
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://app.lokalise.com/api2docs/curl/#transition-update-a-webhook-put
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://app.lokalise.com/api2docs/curl/#transition-delete-a-webhook-delete
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]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyLokaliseApi
4
- VERSION = '6.0.0'
4
+ VERSION = '6.1.0'
5
5
  end
@@ -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.0.0
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-03-11 00:00:00.000000000 Z
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.8
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