ruby-lokalise-api 1.1.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -2
- data/README.md +172 -10
- data/lib/ruby-lokalise-api.rb +2 -0
- data/lib/ruby-lokalise-api/client.rb +18 -0
- data/lib/ruby-lokalise-api/collections/base.rb +11 -10
- data/lib/ruby-lokalise-api/collections/contributor.rb +1 -3
- data/lib/ruby-lokalise-api/collections/file.rb +1 -3
- data/lib/ruby-lokalise-api/collections/key.rb +8 -3
- data/lib/ruby-lokalise-api/collections/key_comment.rb +2 -3
- data/lib/ruby-lokalise-api/collections/project.rb +1 -3
- data/lib/ruby-lokalise-api/collections/project_comment.rb +1 -3
- data/lib/ruby-lokalise-api/collections/project_language.rb +1 -3
- data/lib/ruby-lokalise-api/collections/screenshot.rb +1 -3
- data/lib/ruby-lokalise-api/collections/snapshot.rb +1 -3
- data/lib/ruby-lokalise-api/collections/system_language.rb +1 -3
- data/lib/ruby-lokalise-api/collections/task.rb +1 -3
- data/lib/ruby-lokalise-api/collections/team.rb +1 -3
- data/lib/ruby-lokalise-api/collections/team_user.rb +1 -3
- data/lib/ruby-lokalise-api/collections/translation.rb +1 -3
- data/lib/ruby-lokalise-api/error.rb +2 -0
- data/lib/ruby-lokalise-api/request.rb +11 -3
- data/lib/ruby-lokalise-api/resources/base.rb +51 -41
- data/lib/ruby-lokalise-api/resources/contributor.rb +6 -4
- data/lib/ruby-lokalise-api/resources/file.rb +7 -12
- data/lib/ruby-lokalise-api/resources/key.rb +5 -4
- data/lib/ruby-lokalise-api/resources/key_comment.rb +6 -4
- data/lib/ruby-lokalise-api/resources/project.rb +10 -7
- data/lib/ruby-lokalise-api/resources/project_language.rb +5 -4
- data/lib/ruby-lokalise-api/resources/screenshot.rb +5 -4
- data/lib/ruby-lokalise-api/resources/snapshot.rb +10 -5
- data/lib/ruby-lokalise-api/resources/task.rb +5 -4
- data/lib/ruby-lokalise-api/resources/team_user.rb +6 -4
- data/lib/ruby-lokalise-api/resources/translation.rb +5 -4
- data/lib/ruby-lokalise-api/rest/comments.rb +6 -6
- data/lib/ruby-lokalise-api/rest/contributors.rb +6 -6
- data/lib/ruby-lokalise-api/rest/files.rb +3 -3
- data/lib/ruby-lokalise-api/rest/keys.rb +9 -9
- data/lib/ruby-lokalise-api/rest/languages.rb +7 -7
- data/lib/ruby-lokalise-api/rest/projects.rb +7 -7
- data/lib/ruby-lokalise-api/rest/screenshots.rb +6 -6
- data/lib/ruby-lokalise-api/rest/snapshots.rb +5 -5
- data/lib/ruby-lokalise-api/rest/tasks.rb +6 -6
- data/lib/ruby-lokalise-api/rest/team_users.rb +5 -5
- data/lib/ruby-lokalise-api/rest/teams.rb +1 -1
- data/lib/ruby-lokalise-api/rest/translations.rb +3 -3
- data/lib/ruby-lokalise-api/utils/attribute_helpers.rb +19 -5
- data/lib/ruby-lokalise-api/utils/endpoint_helpers.rb +12 -0
- data/lib/ruby-lokalise-api/utils/string_utils.rb +4 -0
- data/lib/ruby-lokalise-api/version.rb +1 -1
- data/ruby-lokalise-api.gemspec +1 -0
- data/spec/lib/ruby-lokalise-api/rest/comments_spec.rb +22 -5
- data/spec/lib/ruby-lokalise-api/rest/contributors_spec.rb +35 -2
- data/spec/lib/ruby-lokalise-api/rest/keys_spec.rb +55 -4
- data/spec/lib/ruby-lokalise-api/rest/languages_spec.rb +31 -2
- data/spec/lib/ruby-lokalise-api/rest/projects_spec.rb +36 -2
- data/spec/lib/ruby-lokalise-api/rest/screenshots_spec.rb +45 -8
- data/spec/lib/ruby-lokalise-api/rest/snapshots_spec.rb +25 -2
- data/spec/lib/ruby-lokalise-api/rest/tasks_spec.rb +38 -2
- data/spec/lib/ruby-lokalise-api/rest/team_users_spec.rb +25 -2
- data/spec/lib/ruby-lokalise-api/rest/translations_spec.rb +17 -3
- metadata +17 -2
@@ -7,7 +7,7 @@ module Lokalise
|
|
7
7
|
# @param project_id [String]
|
8
8
|
# @param params [Hash]
|
9
9
|
def screenshots(project_id, params = {})
|
10
|
-
Lokalise::Collections::Screenshot
|
10
|
+
c_r Lokalise::Collections::Screenshot, :all, project_id, params
|
11
11
|
end
|
12
12
|
|
13
13
|
# Returns a single screenshot for the given project
|
@@ -17,7 +17,7 @@ module Lokalise
|
|
17
17
|
# @param project_id [String]
|
18
18
|
# @param screenshot_id [String, Integer]
|
19
19
|
def screenshot(project_id, screenshot_id)
|
20
|
-
Lokalise::Resources::Screenshot
|
20
|
+
c_r Lokalise::Resources::Screenshot, :find, [project_id, screenshot_id]
|
21
21
|
end
|
22
22
|
|
23
23
|
# Creates one or more screenshots for the given project
|
@@ -27,7 +27,7 @@ module Lokalise
|
|
27
27
|
# @param project_id [String]
|
28
28
|
# @param params [Hash]
|
29
29
|
def create_screenshots(project_id, params = {})
|
30
|
-
Lokalise::Resources::Screenshot
|
30
|
+
c_r Lokalise::Resources::Screenshot, :create, project_id, params, :screenshots
|
31
31
|
end
|
32
32
|
|
33
33
|
# Updates screenshot
|
@@ -38,7 +38,7 @@ module Lokalise
|
|
38
38
|
# @param screenshot_id [String, Integer]
|
39
39
|
# @param params [Hash]
|
40
40
|
def update_screenshot(project_id, screenshot_id, params = {})
|
41
|
-
Lokalise::Resources::Screenshot
|
41
|
+
c_r Lokalise::Resources::Screenshot, :update, [project_id, screenshot_id], params
|
42
42
|
end
|
43
43
|
|
44
44
|
# Deletes screenshot
|
@@ -47,8 +47,8 @@ module Lokalise
|
|
47
47
|
# @return [Hash]
|
48
48
|
# @param project_id [String]
|
49
49
|
# @param screenshot_id [String, Integer]
|
50
|
-
def
|
51
|
-
Lokalise::Resources::Screenshot
|
50
|
+
def destroy_screenshot(project_id, screenshot_id)
|
51
|
+
c_r Lokalise::Resources::Screenshot, :destroy, [project_id, screenshot_id]
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|
@@ -7,7 +7,7 @@ module Lokalise
|
|
7
7
|
# @param project_id [String]
|
8
8
|
# @param params [Hash]
|
9
9
|
def snapshots(project_id, params = {})
|
10
|
-
Lokalise::Collections::Snapshot
|
10
|
+
c_r Lokalise::Collections::Snapshot, :all, project_id, params
|
11
11
|
end
|
12
12
|
|
13
13
|
# Creates snapshot for the given project
|
@@ -17,7 +17,7 @@ module Lokalise
|
|
17
17
|
# @param project_id [String]
|
18
18
|
# @param params [Hash]
|
19
19
|
def create_snapshot(project_id, params = {})
|
20
|
-
Lokalise::Resources::Snapshot
|
20
|
+
c_r Lokalise::Resources::Snapshot, :create, project_id, params
|
21
21
|
end
|
22
22
|
|
23
23
|
# Restore project from the given snapshot by producing project's copy
|
@@ -27,7 +27,7 @@ module Lokalise
|
|
27
27
|
# @param project_id [String]
|
28
28
|
# @param snapshot_id [String, Integer]
|
29
29
|
def restore_snapshot(project_id, snapshot_id)
|
30
|
-
Lokalise::Resources::Snapshot
|
30
|
+
c_r Lokalise::Resources::Snapshot, :restore, [project_id, snapshot_id]
|
31
31
|
end
|
32
32
|
|
33
33
|
# Deletes snapshot
|
@@ -36,8 +36,8 @@ module Lokalise
|
|
36
36
|
# @return [Hash]
|
37
37
|
# @param project_id [String]
|
38
38
|
# @param snapshot_id [String, Integer]
|
39
|
-
def
|
40
|
-
Lokalise::Resources::Snapshot
|
39
|
+
def destroy_snapshot(project_id, snapshot_id)
|
40
|
+
c_r Lokalise::Resources::Snapshot, :destroy, [project_id, snapshot_id]
|
41
41
|
end
|
42
42
|
end
|
43
43
|
end
|
@@ -7,7 +7,7 @@ module Lokalise
|
|
7
7
|
# @param project_id [String]
|
8
8
|
# @param params [Hash]
|
9
9
|
def tasks(project_id, params = {})
|
10
|
-
Lokalise::Collections::Task
|
10
|
+
c_r Lokalise::Collections::Task, :all, project_id, params
|
11
11
|
end
|
12
12
|
|
13
13
|
# Returns a single task for the given project
|
@@ -17,7 +17,7 @@ module Lokalise
|
|
17
17
|
# @param project_id [String]
|
18
18
|
# @param task_id [String, Integer]
|
19
19
|
def task(project_id, task_id)
|
20
|
-
Lokalise::Resources::Task
|
20
|
+
c_r Lokalise::Resources::Task, :find, [project_id, task_id]
|
21
21
|
end
|
22
22
|
|
23
23
|
# Creates task for the given project
|
@@ -27,7 +27,7 @@ module Lokalise
|
|
27
27
|
# @param project_id [String]
|
28
28
|
# @param params [Hash]
|
29
29
|
def create_task(project_id, params)
|
30
|
-
Lokalise::Resources::Task
|
30
|
+
c_r Lokalise::Resources::Task, :create, project_id, params
|
31
31
|
end
|
32
32
|
|
33
33
|
# Updates task for the given project
|
@@ -38,7 +38,7 @@ module Lokalise
|
|
38
38
|
# @param task_id [String, Integer]
|
39
39
|
# @param params [Hash]
|
40
40
|
def update_task(project_id, task_id, params = {})
|
41
|
-
Lokalise::Resources::Task
|
41
|
+
c_r Lokalise::Resources::Task, :update, [project_id, task_id], params
|
42
42
|
end
|
43
43
|
|
44
44
|
# Deletes task for the given project
|
@@ -47,8 +47,8 @@ module Lokalise
|
|
47
47
|
# @return [Hash]
|
48
48
|
# @param project_id [String]
|
49
49
|
# @param task_id [String, Integer]
|
50
|
-
def
|
51
|
-
Lokalise::Resources::Task
|
50
|
+
def destroy_task(project_id, task_id)
|
51
|
+
c_r Lokalise::Resources::Task, :destroy, [project_id, task_id]
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|
@@ -7,7 +7,7 @@ module Lokalise
|
|
7
7
|
# @param team_id [String]
|
8
8
|
# @param params [Hash]
|
9
9
|
def team_users(team_id, params = {})
|
10
|
-
Lokalise::Collections::TeamUser
|
10
|
+
c_r Lokalise::Collections::TeamUser, :all, team_id, params
|
11
11
|
end
|
12
12
|
|
13
13
|
# Returns team user from the given team
|
@@ -17,7 +17,7 @@ module Lokalise
|
|
17
17
|
# @param team_id [String]
|
18
18
|
# @param user_id [String, Integer]
|
19
19
|
def team_user(team_id, user_id)
|
20
|
-
Lokalise::Resources::TeamUser
|
20
|
+
c_r Lokalise::Resources::TeamUser, :find, [team_id, user_id]
|
21
21
|
end
|
22
22
|
|
23
23
|
# Updates team user for the given team
|
@@ -28,7 +28,7 @@ module Lokalise
|
|
28
28
|
# @param user_id [String, Integer]
|
29
29
|
# @param params [Hash]
|
30
30
|
def update_team_user(team_id, user_id, params)
|
31
|
-
Lokalise::Resources::TeamUser
|
31
|
+
c_r Lokalise::Resources::TeamUser, :update, [team_id, user_id], params
|
32
32
|
end
|
33
33
|
|
34
34
|
# Deletes team user from the given team
|
@@ -37,8 +37,8 @@ module Lokalise
|
|
37
37
|
# @return [Lokalise::Resources::TeamUser]
|
38
38
|
# @param team_id [String]
|
39
39
|
# @param user_id [String, Integer]
|
40
|
-
def
|
41
|
-
Lokalise::Resources::TeamUser
|
40
|
+
def destroy_team_user(team_id, user_id)
|
41
|
+
c_r Lokalise::Resources::TeamUser, :destroy, [team_id, user_id]
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
@@ -7,7 +7,7 @@ module Lokalise
|
|
7
7
|
# @param project_id [String]
|
8
8
|
# @param params [Hash]
|
9
9
|
def translations(project_id, params = {})
|
10
|
-
Lokalise::Collections::Translation
|
10
|
+
c_r Lokalise::Collections::Translation, :all, project_id, params
|
11
11
|
end
|
12
12
|
|
13
13
|
# Returns translation of the given project
|
@@ -18,7 +18,7 @@ module Lokalise
|
|
18
18
|
# @param translation_id [String, Integer]
|
19
19
|
# @param params [Hash]
|
20
20
|
def translation(project_id, translation_id, params = {})
|
21
|
-
Lokalise::Resources::Translation
|
21
|
+
c_r Lokalise::Resources::Translation, :find, [project_id, translation_id], params
|
22
22
|
end
|
23
23
|
|
24
24
|
# Updates translation of the given project
|
@@ -29,7 +29,7 @@ module Lokalise
|
|
29
29
|
# @param translation_id [String, Integer]
|
30
30
|
# @param params [Hash]
|
31
31
|
def update_translation(project_id, translation_id, params)
|
32
|
-
Lokalise::Resources::Translation
|
32
|
+
c_r Lokalise::Resources::Translation, :update, [project_id, translation_id], params
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
@@ -12,17 +12,23 @@ module Lokalise
|
|
12
12
|
# @param model_class [String]
|
13
13
|
# @param plural [Boolean] Should the returned value be pluralized?
|
14
14
|
def data_key_for(model_class, plural = false)
|
15
|
-
data_key =
|
16
|
-
Module.const_get "Lokalise::Resources::#{model_class}::DATA_KEY"
|
17
|
-
else
|
18
|
-
model_class
|
19
|
-
end.snakecase
|
15
|
+
data_key = get_key 'DATA_KEY', model_class
|
20
16
|
|
21
17
|
return data_key unless plural
|
22
18
|
|
23
19
|
data_key + 's'
|
24
20
|
end
|
25
21
|
|
22
|
+
# Returns key used to determine resource id (for example `user_id` or `project_id`).
|
23
|
+
# Most ids corresponds to resources' class names, but some may differ (for instance,
|
24
|
+
# `Contributor` has `user_id` attribute).
|
25
|
+
#
|
26
|
+
# @return [String]
|
27
|
+
# @param model_class [String]
|
28
|
+
def id_key_for(model_class)
|
29
|
+
get_key('ID_KEY', model_class) + '_id'
|
30
|
+
end
|
31
|
+
|
26
32
|
# Loads attributes for the given resource based on its name
|
27
33
|
#
|
28
34
|
# @return [Array<String>]
|
@@ -37,6 +43,14 @@ module Lokalise
|
|
37
43
|
|
38
44
|
private
|
39
45
|
|
46
|
+
def get_key(name, model_class)
|
47
|
+
if Module.const_defined? "Lokalise::Resources::#{model_class}::#{name}"
|
48
|
+
Module.const_get "Lokalise::Resources::#{model_class}::#{name}"
|
49
|
+
else
|
50
|
+
model_class
|
51
|
+
end.snakecase
|
52
|
+
end
|
53
|
+
|
40
54
|
# Unify some resources' names (eg, `ProjectComment` and `KeyComment` have the same attributes which are stored under `comment`)
|
41
55
|
#
|
42
56
|
# @return [String]
|
data/ruby-lokalise-api.gemspec
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
RSpec.describe Lokalise::Client do
|
2
2
|
let(:project_id) { '803826145ba90b42d5d860.46800099' }
|
3
3
|
let(:key_id) { 15_305_182 }
|
4
|
+
let(:another_key_id) { 15_519_786 }
|
4
5
|
|
5
6
|
describe '#comments' do
|
6
7
|
it 'should return all comments' do
|
@@ -28,19 +29,18 @@ RSpec.describe Lokalise::Client do
|
|
28
29
|
expect(comments.prev_page?).to eq(true)
|
29
30
|
expect(comments.first_page?).to eq(false)
|
30
31
|
|
31
|
-
expect(comments.ids).to include(project_id, key_id)
|
32
32
|
expect(comments.client).to be_an_instance_of(Lokalise::Client)
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
36
|
specify '#comment' do
|
37
37
|
comment = VCR.use_cassette('comment') do
|
38
|
-
test_client.comment project_id,
|
38
|
+
test_client.comment project_id, another_key_id, '800746'
|
39
39
|
end
|
40
40
|
|
41
41
|
expect(comment.comment).to eq('rspec comment')
|
42
42
|
expect(comment.comment_id).to eq(800_746)
|
43
|
-
expect(comment.key_id).to eq(
|
43
|
+
expect(comment.key_id).to eq(another_key_id)
|
44
44
|
expect(comment.added_by).to eq(20_181)
|
45
45
|
expect(comment.added_by_email).to eq('bodrovis@protonmail.com')
|
46
46
|
expect(comment.added_at).to eq('2018-12-09 19:41:44 (Etc/UTC)')
|
@@ -76,11 +76,28 @@ RSpec.describe Lokalise::Client do
|
|
76
76
|
expect(comment.comment_id).to eq(767_938)
|
77
77
|
end
|
78
78
|
|
79
|
-
specify '#
|
79
|
+
specify '#destroy_comment' do
|
80
80
|
response = VCR.use_cassette('delete_comment') do
|
81
|
-
test_client.
|
81
|
+
test_client.destroy_comment project_id, key_id, 767_938
|
82
82
|
end
|
83
83
|
expect(response['project_id']).to eq(project_id)
|
84
84
|
expect(response['comment_deleted']).to eq(true)
|
85
85
|
end
|
86
|
+
|
87
|
+
context 'comment chained methods' do
|
88
|
+
it 'should support destroy' do
|
89
|
+
comment = VCR.use_cassette('create_another_comment') do
|
90
|
+
test_client.create_comments project_id, another_key_id, comment: 'chained comment'
|
91
|
+
end.collection.first
|
92
|
+
|
93
|
+
expect(comment.comment).to eq('chained comment')
|
94
|
+
|
95
|
+
delete_response = VCR.use_cassette('delete_comment_chained') do
|
96
|
+
comment.destroy
|
97
|
+
end
|
98
|
+
|
99
|
+
expect(delete_response['project_id']).to eq(project_id)
|
100
|
+
expect(delete_response['comment_deleted']).to eq(true)
|
101
|
+
end
|
102
|
+
end
|
86
103
|
end
|
@@ -74,11 +74,44 @@ RSpec.describe Lokalise::Client do
|
|
74
74
|
expect(contributor.languages.length).to eq(1)
|
75
75
|
end
|
76
76
|
|
77
|
-
specify '#
|
77
|
+
specify '#destroy_contributor' do
|
78
78
|
response = VCR.use_cassette('delete_contributor') do
|
79
|
-
test_client.
|
79
|
+
test_client.destroy_contributor project_id, contributor_id
|
80
80
|
end
|
81
81
|
expect(response['project_id']).to eq(project_id)
|
82
82
|
expect(response['contributor_deleted']).to eq(true)
|
83
83
|
end
|
84
|
+
|
85
|
+
context 'contributor chained methods' do
|
86
|
+
it 'should support update and destroy' do
|
87
|
+
contributor = VCR.use_cassette('create_another_contributor') do
|
88
|
+
test_client.create_contributors project_id,
|
89
|
+
email: 'demo@test.com',
|
90
|
+
fullname: 'chained',
|
91
|
+
languages: [{lang_iso: 'en'}]
|
92
|
+
end.collection.first
|
93
|
+
|
94
|
+
expect(contributor.client).to eq(test_client)
|
95
|
+
expect(contributor.fullname).to eq('chained')
|
96
|
+
|
97
|
+
id = contributor.user_id
|
98
|
+
path = contributor.path
|
99
|
+
|
100
|
+
updated_contributor = VCR.use_cassette('update_contributor_chained') do
|
101
|
+
contributor.update fullname: 'updated!'
|
102
|
+
end
|
103
|
+
|
104
|
+
expect(updated_contributor.client).to eq(test_client)
|
105
|
+
expect(updated_contributor.fullname).to eq('updated!')
|
106
|
+
expect(updated_contributor.user_id).to eq(id)
|
107
|
+
expect(updated_contributor.path).to eq(path)
|
108
|
+
|
109
|
+
delete_response = VCR.use_cassette('delete_contributor_chained') do
|
110
|
+
updated_contributor.destroy
|
111
|
+
end
|
112
|
+
|
113
|
+
expect(delete_response['project_id']).to eq(project_id)
|
114
|
+
expect(delete_response['contributor_deleted']).to eq(true)
|
115
|
+
end
|
116
|
+
end
|
84
117
|
end
|
@@ -108,21 +108,72 @@ RSpec.describe Lokalise::Client do
|
|
108
108
|
expect(second_key.description).to eq('bulk updated')
|
109
109
|
end
|
110
110
|
|
111
|
-
specify '#
|
111
|
+
specify '#destroy_key' do
|
112
112
|
response = VCR.use_cassette('delete_key') do
|
113
|
-
test_client.
|
113
|
+
test_client.destroy_key project_id, '15519771'
|
114
114
|
end
|
115
115
|
|
116
116
|
expect(response['project_id']).to eq(project_id)
|
117
117
|
expect(response['key_removed']).to eq(true)
|
118
118
|
end
|
119
119
|
|
120
|
-
specify '#
|
120
|
+
specify '#destroy_keys' do
|
121
121
|
response = VCR.use_cassette('delete_keys') do
|
122
|
-
test_client.
|
122
|
+
test_client.destroy_keys project_id, [new_key_id, key_id]
|
123
123
|
end
|
124
124
|
|
125
125
|
expect(response['project_id']).to eq(project_id)
|
126
126
|
expect(response['keys_removed']).to eq(true)
|
127
127
|
end
|
128
|
+
|
129
|
+
context 'key chained methods' do
|
130
|
+
it 'should support update and destroy' do
|
131
|
+
key = VCR.use_cassette('create_another_key') do
|
132
|
+
test_client.create_keys project_id, key_name: 'chained_k', platforms: %w[ios]
|
133
|
+
end.collection.first
|
134
|
+
|
135
|
+
expect(key.key_name['ios']).to eq('chained_k')
|
136
|
+
|
137
|
+
path = key.path
|
138
|
+
|
139
|
+
updated_key = VCR.use_cassette('update_key_chained') do
|
140
|
+
key.update key_name: 'updated!'
|
141
|
+
end
|
142
|
+
|
143
|
+
expect(updated_key.client).to eq(test_client)
|
144
|
+
expect(updated_key.key_name['ios']).to eq('updated!')
|
145
|
+
expect(updated_key.path).to eq(path)
|
146
|
+
|
147
|
+
delete_response = VCR.use_cassette('delete_key_chained') do
|
148
|
+
updated_key.destroy
|
149
|
+
end
|
150
|
+
|
151
|
+
expect(delete_response['project_id']).to eq(project_id)
|
152
|
+
expect(delete_response['key_removed']).to eq(true)
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
context 'keys collection chained methods' do
|
157
|
+
it 'should support destroy_all' do
|
158
|
+
keys = VCR.use_cassette('create_keys_collection') do
|
159
|
+
test_client.create_keys project_id, [
|
160
|
+
{
|
161
|
+
key_name: 'key_collect1', platforms: %w[ios]
|
162
|
+
},
|
163
|
+
{
|
164
|
+
key_name: 'key_collect2', platforms: %w[ios]
|
165
|
+
}
|
166
|
+
]
|
167
|
+
end
|
168
|
+
|
169
|
+
expect(keys.collection.length).to eq(2)
|
170
|
+
|
171
|
+
delete_response = VCR.use_cassette('delete_all_keys_chained') do
|
172
|
+
keys.destroy_all
|
173
|
+
end
|
174
|
+
|
175
|
+
expect(delete_response['project_id']).to eq(project_id)
|
176
|
+
expect(delete_response['keys_removed']).to eq(true)
|
177
|
+
end
|
178
|
+
end
|
128
179
|
end
|