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
@@ -1,131 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RubyLokaliseApi::Client do
4
- let(:project_id) { '803826145ba90b42d5d860.46800099' }
5
- let(:status_id) { 128 }
6
- let(:new_status_id) { 126 }
7
-
8
- describe '#translation_statuses' do
9
- it 'returns all statuses' do
10
- statuses = VCR.use_cassette('all_translation_statuses') do
11
- test_client.translation_statuses project_id
12
- end.collection
13
-
14
- expect(statuses.count).to eq(3)
15
- expect(statuses.first.status_id).to eq(status_id)
16
- end
17
-
18
- it 'supports pagination' do
19
- statuses = VCR.use_cassette('all_translation_statuses_pagination') do
20
- test_client.translation_statuses project_id, limit: 1, page: 2
21
- end
22
-
23
- expect(statuses.collection.count).to eq(1)
24
- expect(statuses.total_results).to eq(3)
25
- expect(statuses.total_pages).to eq(3)
26
- expect(statuses.results_per_page).to eq(1)
27
- expect(statuses.current_page).to eq(2)
28
-
29
- expect(statuses.next_page?).to be(true)
30
- expect(statuses.last_page?).to be(false)
31
- expect(statuses.prev_page?).to be(true)
32
- expect(statuses.first_page?).to be(false)
33
- end
34
- end
35
-
36
- specify '#translation_status' do
37
- status = VCR.use_cassette('translation_status') do
38
- test_client.translation_status project_id, status_id
39
- end
40
-
41
- expect(status.status_id).to eq(status_id)
42
- expect(status.title).to eq('random')
43
- expect(status.color).to eq('#0079bf')
44
- end
45
-
46
- specify '#reload_data' do
47
- status = VCR.use_cassette('translation_status') do
48
- test_client.translation_status project_id, status_id
49
- end
50
-
51
- reloaded_status = VCR.use_cassette('translation_status') do
52
- status.reload_data
53
- end
54
-
55
- expect(reloaded_status.status_id).to eq(status.status_id)
56
- end
57
-
58
- specify '#create_translation_status' do
59
- title = 'Reviewed by doctors'
60
- color = '#f2d600'
61
- status = VCR.use_cassette('create_translation_status') do
62
- test_client.create_translation_status project_id,
63
- title: title,
64
- color: color
65
- end
66
-
67
- expect(status.title).to eq(title)
68
- expect(status.color).to eq(color)
69
- end
70
-
71
- specify '#update_translation_status' do
72
- title = 'Reviewed by rubyists'
73
- color = '#c377e0'
74
- status = VCR.use_cassette('update_translation_status') do
75
- test_client.update_translation_status project_id, new_status_id,
76
- title: title,
77
- color: color
78
- end
79
-
80
- expect(status.title).to eq(title)
81
- expect(status.color).to eq(color)
82
- end
83
-
84
- specify '#destroy_translation_status' do
85
- response = VCR.use_cassette('destroy_translation_status') do
86
- test_client.destroy_translation_status project_id, new_status_id
87
- end
88
-
89
- expect(response['project_id']).to eq(project_id)
90
- expect(response['custom_translation_status_deleted']).to be(true)
91
- end
92
-
93
- specify '#translation_status_colors' do
94
- response = VCR.use_cassette('translation_status_colors') do
95
- test_client.translation_status_colors project_id
96
- end
97
-
98
- expect(response).to be_an(Array)
99
- expect(response).to include('#f2d600')
100
- end
101
-
102
- context 'when translation status methods are chained' do
103
- it 'supports update and destroy' do
104
- status = VCR.use_cassette('create_another_translation_status') do
105
- test_client.create_translation_status project_id,
106
- title: 'rspec',
107
- color: '#c377e0'
108
- end
109
-
110
- expect(status.title).to eq('rspec')
111
- expect(status.color).to eq('#c377e0')
112
-
113
- status = VCR.use_cassette('update_another_translation_status') do
114
- status.update(
115
- title: 'updated rspec',
116
- color: '#0079bf'
117
- )
118
- end
119
-
120
- expect(status.title).to eq('updated rspec')
121
- expect(status.color).to eq('#0079bf')
122
-
123
- response = VCR.use_cassette('delete_another_translation_status') do
124
- status.destroy
125
- end
126
-
127
- expect(response['project_id']).to eq(project_id)
128
- expect(response['custom_translation_status_deleted']).to be(true)
129
- end
130
- end
131
- end
@@ -1,66 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RubyLokaliseApi::Client do
4
- let(:project_id) { '803826145ba90b42d5d860.46800099' }
5
-
6
- describe '#files' do
7
- it 'returns all files' do
8
- files = VCR.use_cassette('files') do
9
- test_client.files project_id
10
- end.collection
11
-
12
- file = files.first
13
-
14
- expect(files.count).to eq(1)
15
- expect(file.filename).to eq('__unassigned__')
16
- expect(file.key_count).to eq(1)
17
- end
18
-
19
- it 'supports pagination' do
20
- files = VCR.use_cassette('all_files_pagination') do
21
- test_client.files project_id, limit: 1, page: 1
22
- end
23
-
24
- expect(files.collection.count).to eq(1)
25
- expect(files.total_results).to eq(1)
26
- expect(files.total_pages).to eq(1)
27
- expect(files.results_per_page).to eq(1)
28
- expect(files.current_page).to eq(1)
29
-
30
- expect(files.next_page).to be_nil
31
- expect(files.prev_page).to be_nil
32
- end
33
- end
34
-
35
- specify '#download_files' do
36
- response = VCR.use_cassette('download_files') do
37
- test_client.download_files project_id,
38
- format: 'po',
39
- original_filenames: true
40
- end
41
-
42
- expect(response['project_id']).to eq(project_id)
43
- expect(response['bundle_url']).to include('amazonaws.com')
44
- end
45
-
46
- specify '#upload_file' do
47
- process = VCR.use_cassette('upload_file') do
48
- test_client.upload_file project_id,
49
- data: 'ZnI6DQogIHRlc3Q6IHRyYW5zbGF0aW9u',
50
- filename: 'rspec_async.yml',
51
- lang_iso: 'ru'
52
- end
53
-
54
- expect(process).to be_an_instance_of(RubyLokaliseApi::Resources::QueuedProcess)
55
- expect(process.process_id).to eq('85c42bf5eff44648ca2f01f9db67b7d306a2f282')
56
- expect(process.status).to eq('queued')
57
-
58
- reloaded_process = VCR.use_cassette('upload_file_queued_reload') do
59
- process.reload_data
60
- end
61
-
62
- expect(reloaded_process.process_id).to eq(process.process_id)
63
- expect(reloaded_process.status).to eq('finished')
64
- expect(reloaded_process.details['files'][0]['status']).to eq('finished')
65
- end
66
- end
@@ -1,199 +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(:new_key_id) { 15_519_770 }
7
-
8
- describe '#keys' do
9
- it 'returns all keys' do
10
- keys = VCR.use_cassette('all_keys') do
11
- test_client.keys project_id
12
- end.collection
13
-
14
- expect(keys.count).to eq(8)
15
- end
16
-
17
- it 'supports pagination' do
18
- keys = VCR.use_cassette('all_keys_pagination') do
19
- test_client.keys project_id, limit: 2, page: 3
20
- end
21
-
22
- expect(keys.collection.count).to eq(2)
23
- expect(keys.total_results).to eq(8)
24
- expect(keys.total_pages).to eq(4)
25
- expect(keys.results_per_page).to eq(2)
26
- expect(keys.current_page).to eq(3)
27
-
28
- expect(keys.next_page?).to be(true)
29
- expect(keys.last_page?).to be(false)
30
- expect(keys.prev_page?).to be(true)
31
- expect(keys.first_page?).to be(false)
32
- end
33
- end
34
-
35
- specify '#key' do
36
- key = VCR.use_cassette('key') do
37
- test_client.key project_id, 44_596_066, disable_references: 0
38
- end
39
-
40
- expect(key.key_id).to eq(44_596_066)
41
- expect(key.project_id).to eq(project_id)
42
- expect(key.branch).to eq('master')
43
- expect(key.created_at).to eq('2020-05-11 11:20:33 (Etc/UTC)')
44
- expect(key.created_at_timestamp).to eq(1_589_196_033)
45
- expect(key.key_name['ios']).to eq('static_pages:index:welcome')
46
- expect(key.filenames['web']).to eq('%LANG_ISO%.yml')
47
- expect(key.description).to eq('')
48
- expect(key.platforms).to eq(%w[web])
49
- expect(key.tags).to eq([])
50
- expect(key.comments).to eq([])
51
- expect(key.screenshots).to eq([])
52
- expect(key.translations.first['modified_by_email']).to eq('bodrovis@protonmail.com')
53
- expect(key.is_plural).to be(false)
54
- expect(key.plural_name).to eq('')
55
- expect(key.is_hidden).to be(true)
56
- expect(key.is_archived).to be(false)
57
- expect(key.context).to eq('')
58
- expect(key.base_words).to eq(1)
59
- expect(key.char_limit).to eq(0)
60
- expect(key.custom_attributes).to eq('')
61
- expect(key.modified_at).to eq('2020-05-11 11:20:33 (Etc/UTC)')
62
- expect(key.modified_at_timestamp).to eq(1_589_196_033)
63
- expect(key.translations_modified_at).to eq('2020-05-15 10:44:42 (Etc/UTC)')
64
- expect(key.translations_modified_at_timestamp).to eq(1_589_539_482)
65
- end
66
-
67
- specify '#reload_data' do
68
- key = VCR.use_cassette('key') do
69
- test_client.key project_id, 44_596_066, disable_references: 0
70
- end
71
-
72
- reloaded_key = VCR.use_cassette('key') do
73
- key.reload_data disable_references: 0
74
- end
75
-
76
- expect(reloaded_key.key_id).to eq(key.key_id)
77
- end
78
-
79
- specify '#create_keys' do
80
- keys = VCR.use_cassette('create_keys') do
81
- test_client.create_keys project_id, key_name: 'rspec_k', platforms: %w[ios]
82
- end
83
-
84
- key = keys.collection.first
85
-
86
- expect(keys.project_id).to eq(project_id)
87
- expect(key.key_name['ios']).to eq('rspec_k')
88
- expect(key.platforms).to eq(%w[ios])
89
- end
90
-
91
- specify '#update_key' do
92
- key = VCR.use_cassette('update_key') do
93
- test_client.update_key project_id, new_key_id, key_name: 'updated_rspec_k', description: 'desc here'
94
- end
95
-
96
- expect(key.key_name['ios']).to eq('updated_rspec_k')
97
- expect(key.platforms).to eq(%w[ios])
98
- expect(key.description).to eq('desc here')
99
- end
100
-
101
- specify '#update_keys' do
102
- keys = VCR.use_cassette('update_keys') do
103
- test_client.update_keys project_id, [
104
- {
105
- key_id: new_key_id,
106
- description: 'bulk updated'
107
- },
108
- {
109
- key_id: key_id,
110
- tags: %w[bulk upd]
111
- }
112
- ]
113
- end
114
-
115
- # `update_keys` returns a collection but it should not be paginated
116
- expect(keys.next_page?).to be(false)
117
- expect(keys.prev_page?).to be(false)
118
-
119
- first_key = keys.collection.first
120
- second_key = keys.collection[1]
121
-
122
- expect(first_key.key_id).to eq(key_id)
123
- expect(first_key.key_name['ios']).to eq('test')
124
- expect(first_key.tags).to eq(%w[bulk upd])
125
-
126
- expect(second_key.key_id).to eq(new_key_id)
127
- expect(second_key.key_name['web']).to eq('updated_rspec_k')
128
- expect(second_key.description).to eq('bulk updated')
129
- end
130
-
131
- specify '#destroy_key' do
132
- response = VCR.use_cassette('delete_key') do
133
- test_client.destroy_key project_id, '15519771'
134
- end
135
-
136
- expect(response['project_id']).to eq(project_id)
137
- expect(response['key_removed']).to be(true)
138
- end
139
-
140
- specify '#destroy_keys' do
141
- response = VCR.use_cassette('delete_keys') do
142
- test_client.destroy_keys project_id, [new_key_id, key_id]
143
- end
144
-
145
- expect(response['project_id']).to eq(project_id)
146
- expect(response['keys_removed']).to be(true)
147
- end
148
-
149
- context 'when key methods are chained' do
150
- it 'supports update and destroy' do
151
- key = VCR.use_cassette('create_another_key') do
152
- test_client.create_keys project_id, key_name: 'chained_k', platforms: %w[ios]
153
- end.collection.first
154
-
155
- expect(key.key_name['ios']).to eq('chained_k')
156
-
157
- path = key.path
158
-
159
- updated_key = VCR.use_cassette('update_key_chained') do
160
- key.update key_name: 'updated!'
161
- end
162
-
163
- expect(updated_key.client.token).to eq(test_client.token)
164
- expect(updated_key.key_name['ios']).to eq('updated!')
165
- expect(updated_key.path).to eq(path)
166
-
167
- delete_response = VCR.use_cassette('delete_key_chained') do
168
- updated_key.destroy
169
- end
170
-
171
- expect(delete_response['project_id']).to eq(project_id)
172
- expect(delete_response['key_removed']).to be(true)
173
- end
174
- end
175
-
176
- context 'when keys collection methods are chained' do
177
- it 'supports destroy_all' do
178
- keys = VCR.use_cassette('create_keys_collection') do
179
- test_client.create_keys project_id, [
180
- {
181
- key_name: 'key_collect1', platforms: %w[ios]
182
- },
183
- {
184
- key_name: 'key_collect2', platforms: %w[ios]
185
- }
186
- ]
187
- end
188
-
189
- expect(keys.collection.length).to eq(2)
190
-
191
- delete_response = VCR.use_cassette('delete_all_keys_chained') do
192
- keys.destroy_all
193
- end
194
-
195
- expect(delete_response['project_id']).to eq(project_id)
196
- expect(delete_response['keys_removed']).to be(true)
197
- end
198
- end
199
- end
@@ -1,134 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RubyLokaliseApi::Client do
4
- let(:project_id) { '803826145ba90b42d5d860.46800099' }
5
- let(:language_id) { 640 }
6
- let(:new_language_id) { 894 }
7
-
8
- describe '#system_languages' do
9
- it 'returns all system languages' do
10
- languages = VCR.use_cassette('all_system_languages') do
11
- test_client.system_languages
12
- end.collection
13
-
14
- expect(languages.count).to eq(100)
15
- expect(languages.first.lang_iso).to eq('ab')
16
- end
17
-
18
- it 'supports pagination' do
19
- languages = VCR.use_cassette('all_system_languages_pagination') do
20
- test_client.system_languages limit: 10, page: 3
21
- end
22
-
23
- expect(languages.collection.count).to eq(10)
24
- expect(languages.total_results).to eq(618)
25
- expect(languages.total_pages).to eq(62)
26
- expect(languages.results_per_page).to eq(10)
27
- expect(languages.current_page).to eq(3)
28
- end
29
- end
30
-
31
- describe '#project_languages' do
32
- it 'returns all project languages' do
33
- languages = VCR.use_cassette('all_project_languages') do
34
- test_client.project_languages project_id
35
- end.collection
36
-
37
- expect(languages.count).to eq(3)
38
- expect(languages.first.lang_iso).to eq('en')
39
- end
40
-
41
- it 'supports pagination' do
42
- languages = VCR.use_cassette('all_project_languages_pagination') do
43
- test_client.project_languages project_id, limit: 1, page: 2
44
- end
45
-
46
- expect(languages.collection.count).to eq(1)
47
- expect(languages.total_results).to eq(3)
48
- expect(languages.total_pages).to eq(3)
49
- expect(languages.results_per_page).to eq(1)
50
- expect(languages.current_page).to eq(2)
51
- end
52
- end
53
-
54
- specify '#language' do
55
- language = VCR.use_cassette('language') do
56
- test_client.language project_id, language_id
57
- end
58
-
59
- expect(language.lang_id).to eq(language_id)
60
- expect(language.lang_iso).to eq('en')
61
- expect(language.lang_name).to eq('English')
62
- expect(language.is_rtl).to be(false)
63
- expect(language.plural_forms).to eq(%w[one other])
64
- end
65
-
66
- specify '#reload_data' do
67
- language = VCR.use_cassette('language') do
68
- test_client.language project_id, language_id
69
- end
70
-
71
- reloaded_language = VCR.use_cassette('language') do
72
- language.reload_data
73
- end
74
-
75
- expect(reloaded_language.lang_id).to eq(language.lang_id)
76
- end
77
-
78
- specify '#create_languages' do
79
- language = VCR.use_cassette('create_languages') do
80
- test_client.create_languages project_id, lang_iso: 'ab', custom_name: 'rspec lang'
81
- end.collection.first
82
-
83
- expect(language.lang_name).to eq('rspec lang')
84
- expect(language.lang_iso).to eq('ab')
85
- end
86
-
87
- specify '#update_language' do
88
- language = VCR.use_cassette('update_language') do
89
- test_client.update_language project_id, new_language_id, lang_name: 'updated lang',
90
- plural_forms: %w[one]
91
- end
92
-
93
- expect(language.lang_name).to eq('updated lang')
94
- expect(language.lang_iso).to eq('ab')
95
- expect(language.plural_forms).to eq(%w[one])
96
- end
97
-
98
- specify '#destroy_language' do
99
- response = VCR.use_cassette('delete_language') do
100
- test_client.destroy_language project_id, new_language_id
101
- end
102
- expect(response['project_id']).to eq(project_id)
103
- expect(response['language_deleted']).to be(true)
104
- end
105
-
106
- context 'when project language methods are chained' do
107
- it 'supports update and destroy' do
108
- language = VCR.use_cassette('create_another_language') do
109
- test_client.create_languages project_id, lang_iso: 'ab', custom_name: 'chained lang'
110
- end.collection.first
111
-
112
- expect(language.client.token).to eq(test_client.token)
113
- expect(language.lang_name).to eq('chained lang')
114
-
115
- path = language.path
116
-
117
- updated_language = VCR.use_cassette('update_language_chained') do
118
- language.update lang_name: 'updated!'
119
- end
120
-
121
- expect(updated_language.client.token).to eq(test_client.token)
122
- expect(updated_language.lang_name).to eq('updated!')
123
- expect(updated_language.lang_id).to eq(language.lang_id)
124
- expect(updated_language.path).to eq(path)
125
-
126
- delete_response = VCR.use_cassette('delete_language_chained') do
127
- updated_language.destroy
128
- end
129
-
130
- expect(delete_response['project_id']).to eq(project_id)
131
- expect(delete_response['language_deleted']).to be(true)
132
- end
133
- end
134
- end
@@ -1,113 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RubyLokaliseApi::Client do
4
- let(:team_id) { 176_692 }
5
- let(:project_id) { '803826145ba90b42d5d860.46800099' }
6
- let(:key_id) { 15_519_786 }
7
- let(:order_id) { '201903198B2' }
8
- let(:card_id) { 1774 }
9
-
10
- describe '#orders' do
11
- it 'returns all orders' do
12
- orders = VCR.use_cassette('all_orders') do
13
- test_client.orders team_id
14
- end.collection
15
-
16
- expect(orders.count).to eq(1)
17
- expect(orders.first.order_id).to eq(order_id)
18
- end
19
-
20
- it 'supports pagination' do
21
- orders = VCR.use_cassette('all_orders_pagination') do
22
- test_client.orders team_id, limit: 1, page: 1
23
- end
24
-
25
- expect(orders.collection.count).to eq(1)
26
- expect(orders.total_results).to eq(1)
27
- expect(orders.total_pages).to eq(1)
28
- expect(orders.results_per_page).to eq(1)
29
- expect(orders.current_page).to eq(1)
30
- end
31
- end
32
-
33
- specify '#order' do
34
- order = VCR.use_cassette('order') do
35
- test_client.order team_id, order_id
36
- end
37
-
38
- expect(order.order_id).to eq(order_id)
39
- expect(order.project_id).to eq(project_id)
40
- expect(order.card_id).to eq(card_id)
41
- expect(order.status).to eq('completed')
42
- expect(order.created_at).to eq('2019-03-19 18:18:21 (Etc/UTC)')
43
- expect(order.created_by).to eq(20_181)
44
- expect(order.created_by_email).to eq('bodrovis@protonmail.com')
45
- expect(order.source_language_iso).to eq('en')
46
- expect(order.target_language_isos).to eq(%w[ru])
47
- expect(order.keys).to eq([key_id])
48
- expect(order.source_words['ru']).to eq(1)
49
- expect(order.provider_slug).to eq('gengo')
50
- expect(order.translation_style).to eq('friendly')
51
- expect(order.translation_tier).to eq(1)
52
- expect(order.translation_tier_name).to eq('Professional translator')
53
- expect(order.briefing).to eq('Some briefing')
54
- expect(order.total).to eq(0.07)
55
- expect(order.payment_method).to be_nil
56
- end
57
-
58
- specify '#reload_data' do
59
- order = VCR.use_cassette('order') do
60
- test_client.order team_id, order_id
61
- end
62
-
63
- reloaded_order = VCR.use_cassette('order') do
64
- order.reload_data
65
- end
66
-
67
- expect(reloaded_order.order_id).to eq(order.order_id)
68
- end
69
-
70
- specify '#create_order' do
71
- order = VCR.use_cassette('create_order') do
72
- test_client.create_order team_id,
73
- project_id: project_id,
74
- card_id: card_id,
75
- briefing: 'Some briefing',
76
- source_language_iso: 'en',
77
- target_language_isos: [
78
- 'ru'
79
- ],
80
- keys: [
81
- key_id
82
- ],
83
- provider_slug: 'gengo',
84
- translation_tier: '1'
85
- end
86
-
87
- expect(order.order_id).to eq(order_id)
88
- expect(order.status).to eq('in progress')
89
- end
90
-
91
- it 'creates an order with dry run' do
92
- order = VCR.use_cassette('create_order_dry_run') do
93
- test_client.create_order team_id,
94
- project_id: project_id,
95
- card_id: card_id,
96
- briefing: 'Some briefing',
97
- source_language_iso: 'en',
98
- target_language_isos: [
99
- 'ru'
100
- ],
101
- keys: [
102
- 74_189_435
103
- ],
104
- provider_slug: 'gengo',
105
- translation_tier: '1',
106
- dry_run: true
107
- end
108
-
109
- expect(order.order_id).to be_nil
110
- expect(order.status).to eq('draft')
111
- expect(order.dry_run).to be true
112
- end
113
- end