phrase 4.24.0 → 4.26.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/CHANGELOG.md +35 -0
- data/README.md +19 -4
- data/docs/AutomationEvent.md +33 -0
- data/docs/AutomationEventProject.md +19 -0
- data/docs/AutomationEventsApi.md +168 -0
- data/docs/AutomationsCreateParameters.md +1 -1
- data/docs/AutomationsCreateParameters1.md +1 -1
- data/docs/BranchComparison.md +23 -0
- data/docs/BranchComparisonChange.md +19 -0
- data/docs/BranchComparisonDiff.md +21 -0
- data/docs/BranchComparisonDiffConflictsValue.md +19 -0
- data/docs/BranchesApi.md +5 -4
- data/docs/DocumentsApi.md +4 -4
- data/docs/Format.md +20 -20
- data/docs/FormatsApi.md +1 -1
- data/docs/ICUApi.md +1 -1
- data/docs/IcuSkeletonError.md +17 -0
- data/docs/IcuSkeletonParameters.md +11 -11
- data/docs/Job.md +3 -1
- data/docs/JobDetails.md +2 -0
- data/docs/JobsApi.md +2 -2
- data/docs/KeyCreateParameters.md +1 -1
- data/docs/KeyFormatAnnotationsApi.md +74 -0
- data/docs/KeyFormatAnnotationsList200ResponseInner.md +19 -0
- data/docs/KeyLinksBatchDestroyParameters.md +6 -4
- data/docs/KeyLinksCreateParameters.md +2 -2
- data/docs/KeyUpdateParameters.md +1 -1
- data/docs/LinkedKeysApi.md +14 -13
- data/docs/Locale.md +2 -0
- data/docs/LocaleCreateParameters.md +3 -1
- data/docs/LocaleDetails.md +2 -0
- data/docs/LocaleDownloadCreateParameters.md +4 -0
- data/docs/LocaleUpdateParameters.md +3 -1
- data/docs/LocalesApi.md +2 -2
- data/docs/PreTranslation.md +29 -0
- data/docs/PreTranslationCreateParameters.md +19 -0
- data/docs/PreTranslationsApi.md +210 -0
- data/docs/ProjectCreateParameters.md +1 -1
- data/docs/ProjectUpdateParameters.md +1 -1
- data/docs/RepoSync.md +2 -0
- data/docs/RepoSyncCreateParameters.md +2 -0
- data/docs/ScreenshotUpdateParameters.md +1 -1
- data/docs/ScreenshotsApi.md +11 -11
- data/lib/phrase/api/automation_events_api.rb +215 -0
- data/lib/phrase/api/branches_api.rb +5 -3
- data/lib/phrase/api/documents_api.rb +6 -6
- data/lib/phrase/api/formats_api.rb +2 -2
- data/lib/phrase/api/icu_api.rb +2 -6
- data/lib/phrase/api/key_format_annotations_api.rb +85 -0
- data/lib/phrase/api/linked_keys_api.rb +19 -23
- data/lib/phrase/api/locales_api.rb +2 -2
- data/lib/phrase/api/pre_translations_api.rb +240 -0
- data/lib/phrase/api/screenshots_api.rb +20 -16
- data/lib/phrase/models/automation_event.rb +325 -0
- data/lib/phrase/models/automation_event_project.rb +208 -0
- data/lib/phrase/models/automations_create_parameters.rb +1 -1
- data/lib/phrase/models/automations_create_parameters1.rb +1 -1
- data/lib/phrase/models/branch_comparison.rb +224 -0
- data/lib/phrase/models/branch_comparison_change.rb +212 -0
- data/lib/phrase/models/branch_comparison_diff.rb +223 -0
- data/lib/phrase/models/branch_comparison_diff_conflicts_value.rb +209 -0
- data/lib/phrase/models/format.rb +60 -0
- data/lib/phrase/models/{key_links_index400_response.rb → icu_skeleton_error.rb} +11 -10
- data/lib/phrase/models/icu_skeleton_parameters.rb +6 -6
- data/lib/phrase/models/job.rb +16 -5
- data/lib/phrase/models/job_details.rb +12 -1
- data/lib/phrase/models/key_format_annotations_list200_response_inner.rb +207 -0
- data/lib/phrase/models/key_links_batch_destroy_parameters.rb +52 -6
- data/lib/phrase/models/key_links_create_parameters.rb +1 -1
- data/lib/phrase/models/locale.rb +10 -1
- data/lib/phrase/models/locale_create_parameters.rb +14 -4
- data/lib/phrase/models/locale_details.rb +10 -1
- data/lib/phrase/models/locale_download_create_parameters.rb +21 -1
- data/lib/phrase/models/locale_update_parameters.rb +14 -4
- data/lib/phrase/models/pre_translation.rb +301 -0
- data/lib/phrase/models/pre_translation_create_parameters.rb +241 -0
- data/lib/phrase/models/repo_sync.rb +29 -1
- data/lib/phrase/models/repo_sync_create_parameters.rb +27 -1
- data/lib/phrase/response.rb +2 -2
- data/lib/phrase/version.rb +1 -1
- data/lib/phrase.rb +13 -1
- data/phrase.gemspec +1 -1
- data/spec/api/automation_events_api_spec.rb +67 -0
- data/spec/api/branches_api_spec.rb +1 -1
- data/spec/api/documents_api_spec.rb +3 -3
- data/spec/api/formats_api_spec.rb +1 -1
- data/spec/api/icu_api_spec.rb +1 -1
- data/spec/api/key_format_annotations_api_spec.rb +38 -0
- data/spec/api/linked_keys_api_spec.rb +7 -7
- data/spec/api/pre_translations_api_spec.rb +70 -0
- data/spec/api/screenshots_api_spec.rb +6 -6
- data/spec/models/automation_event_project_spec.rb +35 -0
- data/spec/models/automation_event_spec.rb +85 -0
- data/spec/models/branch_comparison_change_spec.rb +35 -0
- data/spec/models/branch_comparison_diff_conflicts_value_spec.rb +35 -0
- data/spec/models/branch_comparison_diff_spec.rb +41 -0
- data/spec/models/branch_comparison_spec.rb +47 -0
- data/spec/models/{key_links_index400_response_spec.rb → icu_skeleton_error_spec.rb} +7 -7
- data/spec/models/job_details_spec.rb +6 -0
- data/spec/models/job_spec.rb +6 -0
- data/spec/models/key_format_annotations_list200_response_inner_spec.rb +35 -0
- data/spec/models/key_links_batch_destroy_parameters_spec.rb +10 -0
- data/spec/models/locale_create_parameters_spec.rb +6 -0
- data/spec/models/locale_details_spec.rb +6 -0
- data/spec/models/locale_download_create_parameters_spec.rb +12 -0
- data/spec/models/locale_spec.rb +6 -0
- data/spec/models/locale_update_parameters_spec.rb +6 -0
- data/spec/models/pre_translation_create_parameters_spec.rb +39 -0
- data/spec/models/pre_translation_spec.rb +73 -0
- data/spec/models/repo_sync_create_parameters_spec.rb +6 -0
- data/spec/models/repo_sync_spec.rb +6 -0
- data/spec/response_spec.rb +53 -0
- metadata +304 -254
- data/docs/KeyLinksIndex400Response.md +0 -17
|
@@ -5,6 +5,9 @@ module Phrase
|
|
|
5
5
|
# ID of the project to connect the Repo Sync to.
|
|
6
6
|
attr_accessor :project_id
|
|
7
7
|
|
|
8
|
+
# Optional custom display name for this repo sync. Defaults to null; when null the project name is used as the display name.
|
|
9
|
+
attr_accessor :name
|
|
10
|
+
|
|
8
11
|
# The Git provider to use.
|
|
9
12
|
attr_accessor :git_provider
|
|
10
13
|
|
|
@@ -55,6 +58,7 @@ module Phrase
|
|
|
55
58
|
def self.attribute_map
|
|
56
59
|
{
|
|
57
60
|
:'project_id' => :'project_id',
|
|
61
|
+
:'name' => :'name',
|
|
58
62
|
:'git_provider' => :'git_provider',
|
|
59
63
|
:'connection_type' => :'connection_type',
|
|
60
64
|
:'repo_name' => :'repo_name',
|
|
@@ -70,6 +74,7 @@ module Phrase
|
|
|
70
74
|
def self.openapi_types
|
|
71
75
|
{
|
|
72
76
|
:'project_id' => :'String',
|
|
77
|
+
:'name' => :'String',
|
|
73
78
|
:'git_provider' => :'String',
|
|
74
79
|
:'connection_type' => :'String',
|
|
75
80
|
:'repo_name' => :'String',
|
|
@@ -84,6 +89,7 @@ module Phrase
|
|
|
84
89
|
# List of attributes with nullable: true
|
|
85
90
|
def self.openapi_nullable
|
|
86
91
|
Set.new([
|
|
92
|
+
:'name',
|
|
87
93
|
])
|
|
88
94
|
end
|
|
89
95
|
|
|
@@ -106,6 +112,10 @@ module Phrase
|
|
|
106
112
|
self.project_id = attributes[:'project_id']
|
|
107
113
|
end
|
|
108
114
|
|
|
115
|
+
if attributes.key?(:'name')
|
|
116
|
+
self.name = attributes[:'name']
|
|
117
|
+
end
|
|
118
|
+
|
|
109
119
|
if attributes.key?(:'git_provider')
|
|
110
120
|
self.git_provider = attributes[:'git_provider']
|
|
111
121
|
else
|
|
@@ -149,6 +159,10 @@ module Phrase
|
|
|
149
159
|
invalid_properties.push('invalid value for "project_id", project_id cannot be nil.')
|
|
150
160
|
end
|
|
151
161
|
|
|
162
|
+
if !@name.nil? && @name.to_s.length > 100
|
|
163
|
+
invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 100.')
|
|
164
|
+
end
|
|
165
|
+
|
|
152
166
|
if @connection_type.nil?
|
|
153
167
|
invalid_properties.push('invalid value for "connection_type", connection_type cannot be nil.')
|
|
154
168
|
end
|
|
@@ -164,6 +178,7 @@ module Phrase
|
|
|
164
178
|
# @return true if the model is valid
|
|
165
179
|
def valid?
|
|
166
180
|
return false if @project_id.nil?
|
|
181
|
+
return false if !@name.nil? && @name.to_s.length > 100
|
|
167
182
|
git_provider_validator = EnumAttributeValidator.new('String', ["github", "gitlab", "bitbucket"])
|
|
168
183
|
return false unless git_provider_validator.valid?(@git_provider)
|
|
169
184
|
return false if @connection_type.nil?
|
|
@@ -173,6 +188,16 @@ module Phrase
|
|
|
173
188
|
true
|
|
174
189
|
end
|
|
175
190
|
|
|
191
|
+
# Custom attribute writer method with validation
|
|
192
|
+
# @param [Object] name Value to be assigned
|
|
193
|
+
def name=(name)
|
|
194
|
+
if !name.nil? && name.to_s.length > 100
|
|
195
|
+
fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 100.'
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
@name = name
|
|
199
|
+
end
|
|
200
|
+
|
|
176
201
|
# Custom attribute writer method checking allowed values (enum).
|
|
177
202
|
# @param [Object] git_provider Object to be assigned
|
|
178
203
|
def git_provider=(git_provider)
|
|
@@ -199,6 +224,7 @@ module Phrase
|
|
|
199
224
|
return true if self.equal?(o)
|
|
200
225
|
self.class == o.class &&
|
|
201
226
|
project_id == o.project_id &&
|
|
227
|
+
name == o.name &&
|
|
202
228
|
git_provider == o.git_provider &&
|
|
203
229
|
connection_type == o.connection_type &&
|
|
204
230
|
repo_name == o.repo_name &&
|
|
@@ -218,7 +244,7 @@ module Phrase
|
|
|
218
244
|
# Calculates hash code according to all attributes.
|
|
219
245
|
# @return [Integer] Hash code
|
|
220
246
|
def hash
|
|
221
|
-
[project_id, git_provider, connection_type, repo_name, base_branch, pr_branch, auto_import, access_token, custom_api_endpoint].hash
|
|
247
|
+
[project_id, name, git_provider, connection_type, repo_name, base_branch, pr_branch, auto_import, access_token, custom_api_endpoint].hash
|
|
222
248
|
end
|
|
223
249
|
|
|
224
250
|
# Builds the object from hash
|
data/lib/phrase/response.rb
CHANGED
|
@@ -10,8 +10,8 @@ module Phrase
|
|
|
10
10
|
link_headers = headers["link"]
|
|
11
11
|
if link_headers
|
|
12
12
|
@paginated = true
|
|
13
|
-
parsed_links = LinkHeaderParser.parse(link_headers,
|
|
14
|
-
next_page_link = parsed_links[
|
|
13
|
+
parsed_links = LinkHeaderParser.parse(link_headers, base_uri: 'https://api.phrase.com').group_by_relation_type
|
|
14
|
+
next_page_link = parsed_links["next"]&.first
|
|
15
15
|
if next_page_link
|
|
16
16
|
@next_page = CGI.parse(URI.parse(next_page_link.target_uri).query)["page"]&.first&.to_i
|
|
17
17
|
end
|
data/lib/phrase/version.rb
CHANGED
data/lib/phrase.rb
CHANGED
|
@@ -18,12 +18,18 @@ require 'phrase/models/authorization_create_parameters'
|
|
|
18
18
|
require 'phrase/models/authorization_update_parameters'
|
|
19
19
|
require 'phrase/models/authorization_with_token'
|
|
20
20
|
require 'phrase/models/automation'
|
|
21
|
+
require 'phrase/models/automation_event'
|
|
22
|
+
require 'phrase/models/automation_event_project'
|
|
21
23
|
require 'phrase/models/automations_create_parameters'
|
|
22
24
|
require 'phrase/models/automations_create_parameters1'
|
|
23
25
|
require 'phrase/models/blacklisted_key'
|
|
24
26
|
require 'phrase/models/blacklisted_key_create_parameters'
|
|
25
27
|
require 'phrase/models/blacklisted_key_update_parameters'
|
|
26
28
|
require 'phrase/models/branch'
|
|
29
|
+
require 'phrase/models/branch_comparison'
|
|
30
|
+
require 'phrase/models/branch_comparison_change'
|
|
31
|
+
require 'phrase/models/branch_comparison_diff'
|
|
32
|
+
require 'phrase/models/branch_comparison_diff_conflicts_value'
|
|
27
33
|
require 'phrase/models/branch_create_comparison_parameters'
|
|
28
34
|
require 'phrase/models/branch_create_parameters'
|
|
29
35
|
require 'phrase/models/branch_merge_parameters'
|
|
@@ -65,6 +71,7 @@ require 'phrase/models/glossary_term_translation_update_parameters'
|
|
|
65
71
|
require 'phrase/models/glossary_term_update_parameters'
|
|
66
72
|
require 'phrase/models/glossary_update_parameters'
|
|
67
73
|
require 'phrase/models/icu'
|
|
74
|
+
require 'phrase/models/icu_skeleton_error'
|
|
68
75
|
require 'phrase/models/icu_skeleton_parameters'
|
|
69
76
|
require 'phrase/models/invitation'
|
|
70
77
|
require 'phrase/models/invitation_create_parameters'
|
|
@@ -101,10 +108,10 @@ require 'phrase/models/job_template_preview'
|
|
|
101
108
|
require 'phrase/models/job_template_update_parameters'
|
|
102
109
|
require 'phrase/models/job_update_parameters'
|
|
103
110
|
require 'phrase/models/key_create_parameters'
|
|
111
|
+
require 'phrase/models/key_format_annotations_list200_response_inner'
|
|
104
112
|
require 'phrase/models/key_link'
|
|
105
113
|
require 'phrase/models/key_links_batch_destroy_parameters'
|
|
106
114
|
require 'phrase/models/key_links_create_parameters'
|
|
107
|
-
require 'phrase/models/key_links_index400_response'
|
|
108
115
|
require 'phrase/models/key_preview'
|
|
109
116
|
require 'phrase/models/key_update_parameters'
|
|
110
117
|
require 'phrase/models/keys_exclude_parameters'
|
|
@@ -143,6 +150,8 @@ require 'phrase/models/organization_job_template_details'
|
|
|
143
150
|
require 'phrase/models/organization_job_template_locale_update_parameters'
|
|
144
151
|
require 'phrase/models/organization_job_template_locales_create_parameters'
|
|
145
152
|
require 'phrase/models/organization_job_template_update_parameters'
|
|
153
|
+
require 'phrase/models/pre_translation'
|
|
154
|
+
require 'phrase/models/pre_translation_create_parameters'
|
|
146
155
|
require 'phrase/models/project'
|
|
147
156
|
require 'phrase/models/project_create_parameters'
|
|
148
157
|
require 'phrase/models/project_details'
|
|
@@ -239,6 +248,7 @@ require 'phrase/models/webhook_update_parameters'
|
|
|
239
248
|
# APIs
|
|
240
249
|
require 'phrase/api/accounts_api'
|
|
241
250
|
require 'phrase/api/authorizations_api'
|
|
251
|
+
require 'phrase/api/automation_events_api'
|
|
242
252
|
require 'phrase/api/automations_api'
|
|
243
253
|
require 'phrase/api/blacklisted_keys_api'
|
|
244
254
|
require 'phrase/api/branches_api'
|
|
@@ -261,6 +271,7 @@ require 'phrase/api/job_locales_api'
|
|
|
261
271
|
require 'phrase/api/job_template_locales_api'
|
|
262
272
|
require 'phrase/api/job_templates_api'
|
|
263
273
|
require 'phrase/api/jobs_api'
|
|
274
|
+
require 'phrase/api/key_format_annotations_api'
|
|
264
275
|
require 'phrase/api/keys_api'
|
|
265
276
|
require 'phrase/api/keys_figma_attachments_api'
|
|
266
277
|
require 'phrase/api/linked_keys_api'
|
|
@@ -272,6 +283,7 @@ require 'phrase/api/notifications_api'
|
|
|
272
283
|
require 'phrase/api/orders_api'
|
|
273
284
|
require 'phrase/api/organization_job_template_locales_api'
|
|
274
285
|
require 'phrase/api/organization_job_templates_api'
|
|
286
|
+
require 'phrase/api/pre_translations_api'
|
|
275
287
|
require 'phrase/api/projects_api'
|
|
276
288
|
require 'phrase/api/quality_performance_score_api'
|
|
277
289
|
require 'phrase/api/release_triggers_api'
|
data/phrase.gemspec
CHANGED
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
|
|
|
22
22
|
|
|
23
23
|
s.add_runtime_dependency 'typhoeus', '>= 1.0.1'
|
|
24
24
|
s.add_runtime_dependency 'json', '>= 2.1.0'
|
|
25
|
-
s.add_runtime_dependency 'link-header-parser'
|
|
25
|
+
s.add_runtime_dependency 'link-header-parser', '>= 7.0'
|
|
26
26
|
|
|
27
27
|
s.add_development_dependency 'rspec', '>= 3.6.0'
|
|
28
28
|
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'json'
|
|
3
|
+
|
|
4
|
+
# Unit tests for Phrase::AutomationEventsApi
|
|
5
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
6
|
+
# Please update as you see appropriate
|
|
7
|
+
describe 'AutomationEventsApi' do
|
|
8
|
+
before do
|
|
9
|
+
# run before each test
|
|
10
|
+
@api_instance = Phrase::AutomationEventsApi.new
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
after do
|
|
14
|
+
# run after each test
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
describe 'test an instance of AutomationEventsApi' do
|
|
18
|
+
it 'should create an instance of AutomationEventsApi' do
|
|
19
|
+
expect(@api_instance).to be_instance_of(Phrase::AutomationEventsApi)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# unit tests for account_automation_events_list
|
|
24
|
+
# List automation events for an account
|
|
25
|
+
# Returns the run history across all automations in the account, newest-first. Use `automation_id` to narrow results to a single automation. Use `project_id` or `project_ids` to narrow by project. For feature availability, see [Jobs (Strings)](https://support.phrase.com/hc/en-us/articles/5784100517788-Jobs-Strings).
|
|
26
|
+
# @param account_id Account ID
|
|
27
|
+
# @param [Hash] opts the optional parameters
|
|
28
|
+
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
|
29
|
+
# @option opts [Integer] :page Page number
|
|
30
|
+
# @option opts [Integer] :per_page Limit on the number of objects to be returned, between 1 and 100. 25 by default
|
|
31
|
+
# @option opts [String] :automation_id Filter events to a single automation by its ID.
|
|
32
|
+
# @option opts [String] :state Filter events by outcome state. Unrecognized values are ignored.
|
|
33
|
+
# @option opts [String] :triggered_by Filter events by what triggered the automation run. Unrecognized values are ignored.
|
|
34
|
+
# @option opts [String] :project_id Filter events by project ID. Accepts a single ID or a comma-separated list of IDs.
|
|
35
|
+
# @option opts [Array<String>] :project_ids Filter events by one or more project IDs.
|
|
36
|
+
# @option opts [String] :created_after Return only events created after this ISO 8601 timestamp. Returns 400 if the value is not a valid date-time.
|
|
37
|
+
# @option opts [String] :created_before Return only events created before this ISO 8601 timestamp. Returns 400 if the value is not a valid date-time.
|
|
38
|
+
# @return [Array<AutomationEvent>]
|
|
39
|
+
describe 'account_automation_events_list test' do
|
|
40
|
+
it 'should work' do
|
|
41
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# unit tests for automation_events_list
|
|
46
|
+
# List events for an automation
|
|
47
|
+
# Returns the run history for a specific automation, newest-first. For feature availability, see [Jobs (Strings)](https://support.phrase.com/hc/en-us/articles/5784100517788-Jobs-Strings).
|
|
48
|
+
# @param account_id Account ID
|
|
49
|
+
# @param id ID
|
|
50
|
+
# @param [Hash] opts the optional parameters
|
|
51
|
+
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
|
52
|
+
# @option opts [Integer] :page Page number
|
|
53
|
+
# @option opts [Integer] :per_page Limit on the number of objects to be returned, between 1 and 100. 25 by default
|
|
54
|
+
# @option opts [String] :state Filter events by outcome state. Unrecognized values are ignored.
|
|
55
|
+
# @option opts [String] :triggered_by Filter events by what triggered the automation run. Unrecognized values are ignored.
|
|
56
|
+
# @option opts [String] :project_id Filter events by project ID. Accepts a single ID or a comma-separated list of IDs.
|
|
57
|
+
# @option opts [Array<String>] :project_ids Filter events by one or more project IDs.
|
|
58
|
+
# @option opts [String] :created_after Return only events created after this ISO 8601 timestamp. Returns 400 if the value is not a valid date-time.
|
|
59
|
+
# @option opts [String] :created_before Return only events created before this ISO 8601 timestamp. Returns 400 if the value is not a valid date-time.
|
|
60
|
+
# @return [Array<AutomationEvent>]
|
|
61
|
+
describe 'automation_events_list test' do
|
|
62
|
+
it 'should work' do
|
|
63
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end
|
|
@@ -27,7 +27,7 @@ describe 'BranchesApi' do
|
|
|
27
27
|
# @param name name
|
|
28
28
|
# @param [Hash] opts the optional parameters
|
|
29
29
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
|
30
|
-
# @return [
|
|
30
|
+
# @return [BranchComparison]
|
|
31
31
|
describe 'branch_compare test' do
|
|
32
32
|
it 'should work' do
|
|
33
33
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
@@ -22,7 +22,7 @@ describe 'DocumentsApi' do
|
|
|
22
22
|
|
|
23
23
|
# unit tests for document_delete
|
|
24
24
|
# Delete document
|
|
25
|
-
#
|
|
25
|
+
# Permanently deletes a document and all of its associated translation segments from the project. Use this when you want to remove a document that is no longer needed; the deletion cannot be reversed and all associated segments will be lost.
|
|
26
26
|
# @param project_id Project ID
|
|
27
27
|
# @param id ID
|
|
28
28
|
# @param [Hash] opts the optional parameters
|
|
@@ -36,13 +36,13 @@ describe 'DocumentsApi' do
|
|
|
36
36
|
|
|
37
37
|
# unit tests for documents_list
|
|
38
38
|
# List documents
|
|
39
|
-
#
|
|
39
|
+
# Returns all documents in a project that the authenticated user has read access to. A Document is a source file — an HTML or DOCX file — that has been uploaded to Phrase Strings and whose content is segmented into translation keys for localization. Use this endpoint to enumerate documents before downloading, previewing, or triggering translation workflows for individual files. The q parameter performs a prefix match on the document name (case-insensitive). For example, passing q=invoice returns documents whose names begin with \"invoice\" but not documents containing \"invoice\" elsewhere in the name.
|
|
40
40
|
# @param project_id Project ID
|
|
41
41
|
# @param [Hash] opts the optional parameters
|
|
42
42
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
|
43
43
|
# @option opts [Integer] :page Page number
|
|
44
44
|
# @option opts [Integer] :per_page Limit on the number of objects to be returned, between 1 and 100. 25 by default
|
|
45
|
-
# @option opts [String] :q
|
|
45
|
+
# @option opts [String] :q Filter documents by name prefix. Returns documents whose name starts with the given value (case-insensitive).
|
|
46
46
|
# @return [Array<Document>]
|
|
47
47
|
describe 'documents_list test' do
|
|
48
48
|
it 'should work' do
|
|
@@ -22,7 +22,7 @@ describe 'FormatsApi' do
|
|
|
22
22
|
|
|
23
23
|
# unit tests for formats_list
|
|
24
24
|
# List formats
|
|
25
|
-
#
|
|
25
|
+
# Returns all file formats that Phrase Strings supports. Use the api_name value from each format as the file_format parameter when uploading or downloading locale files. Not every format supports both directions: check the importable and exportable fields before using a format in a workflow. This endpoint does not require authentication and is not subject to rate limiting.
|
|
26
26
|
# @param [Hash] opts the optional parameters
|
|
27
27
|
# @return [Array<Format>]
|
|
28
28
|
describe 'formats_list test' do
|
data/spec/api/icu_api_spec.rb
CHANGED
|
@@ -22,7 +22,7 @@ describe 'ICUApi' do
|
|
|
22
22
|
|
|
23
23
|
# unit tests for icu_skeleton
|
|
24
24
|
# Build ICU skeletons
|
|
25
|
-
#
|
|
25
|
+
# Generates ICU (International Components for Unicode) message format skeletons for a given source string across one or more locales. An ICU skeleton strips the literal text from a pluralized or select message while preserving its structural rules — argument names, plural categories, select cases, and ordinal forms — adjusted to the pluralization rules of each requested locale. Use this endpoint to normalize translation templates before importing them into locale files, or to validate that a source string carries the plural forms required by a target language. Either `content` or `id` must be provided — supplying both or neither returns 400. When `id` is used and the referenced translation does not exist, the endpoint returns 404. When the source string is not valid ICU message format syntax, the endpoint returns 422 with an `error` field describing the parse failure.
|
|
26
26
|
# @param icu_skeleton_parameters
|
|
27
27
|
# @param [Hash] opts the optional parameters
|
|
28
28
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'json'
|
|
3
|
+
|
|
4
|
+
# Unit tests for Phrase::KeyFormatAnnotationsApi
|
|
5
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
6
|
+
# Please update as you see appropriate
|
|
7
|
+
describe 'KeyFormatAnnotationsApi' do
|
|
8
|
+
before do
|
|
9
|
+
# run before each test
|
|
10
|
+
@api_instance = Phrase::KeyFormatAnnotationsApi.new
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
after do
|
|
14
|
+
# run after each test
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
describe 'test an instance of KeyFormatAnnotationsApi' do
|
|
18
|
+
it 'should create an instance of KeyFormatAnnotationsApi' do
|
|
19
|
+
expect(@api_instance).to be_instance_of(Phrase::KeyFormatAnnotationsApi)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# unit tests for key_format_annotations_list
|
|
24
|
+
# List format annotations for a key
|
|
25
|
+
# Returns the format annotations stored on a translation key. Format annotations capture file-format data recorded when the key was imported — for example, an ARB placeholder block or an XLIFF note. Results are limited to 1,000 entries.
|
|
26
|
+
# @param project_id Project ID
|
|
27
|
+
# @param id ID
|
|
28
|
+
# @param [Hash] opts the optional parameters
|
|
29
|
+
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
|
30
|
+
# @option opts [String] :branch Branch to use
|
|
31
|
+
# @return [Array<KeyFormatAnnotationsList200ResponseInner>]
|
|
32
|
+
describe 'key_format_annotations_list test' do
|
|
33
|
+
it 'should work' do
|
|
34
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
@@ -22,13 +22,13 @@ describe 'LinkedKeysApi' do
|
|
|
22
22
|
|
|
23
23
|
# unit tests for key_links_batch_destroy
|
|
24
24
|
# Batch unlink child keys from a parent key
|
|
25
|
-
#
|
|
25
|
+
# Removes one or more child keys from a parent key's linked-key group, or dissolves the entire group by setting unlink_parent to true. Use this when you need to detach specific child keys from a shared translation source, or to fully break apart a linked-key group so each key manages its own translations independently. When child keys are unlinked, their translations are updated with a copy of the parent's current content (strategy keep_content, the default) or cleared (strategy remove_content). This operation is only available on main projects. It returns 422 when a child key in `child_key_ids` is not currently linked to the parent, or when a translation update fails while unlinking.
|
|
26
26
|
# @param project_id Project ID
|
|
27
27
|
# @param id Parent Translation Key ID
|
|
28
|
-
# @param key_links_batch_destroy_parameters
|
|
29
28
|
# @param [Hash] opts the optional parameters
|
|
30
29
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
|
31
|
-
# @
|
|
30
|
+
# @option opts [KeyLinksBatchDestroyParameters] :key_links_batch_destroy_parameters
|
|
31
|
+
# @return [KeyLink]
|
|
32
32
|
describe 'key_links_batch_destroy test' do
|
|
33
33
|
it 'should work' do
|
|
34
34
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
@@ -37,7 +37,7 @@ describe 'LinkedKeysApi' do
|
|
|
37
37
|
|
|
38
38
|
# unit tests for key_links_create
|
|
39
39
|
# Link child keys to a parent key
|
|
40
|
-
#
|
|
40
|
+
# Designates a translation key as a parent and links one or more child keys to it. Once linked, child keys receive a special reference marker as their translation content, signalling that their translations are derived from the parent. Use this when you want to group related keys — for example, a short label and its long-form variant — so translators see them in context together. Pass an empty child_key_ids array to mark the key as a parent without linking any children yet. Both the parent key and every child key must belong to the main project; branch keys cannot participate in key links. A child key can have at most one parent at a time; attempting to link a child that already has a parent returns a 422 error with code CHILD_IS_ALREADY_LINKED. Parent and child key plurality must match — linking a plural child to a non-plural parent (or vice versa) also returns a 422.
|
|
41
41
|
# @param project_id Project ID
|
|
42
42
|
# @param id Parent Translation Key ID
|
|
43
43
|
# @param key_links_create_parameters
|
|
@@ -52,10 +52,10 @@ describe 'LinkedKeysApi' do
|
|
|
52
52
|
|
|
53
53
|
# unit tests for key_links_destroy
|
|
54
54
|
# Unlink a child key from a parent key
|
|
55
|
-
#
|
|
55
|
+
# Removes a single child key from a parent key's link group. A link group is the relationship model that keeps child keys synchronized with a parent: while linked, a child key's translations are derived from the parent's content. When you call this endpoint, the child key leaves the group and becomes independent — its existing translations are updated with the parent's current content and then marked unverified, signalling that reviewers should confirm the content is still appropriate for the child's context. Use this endpoint when you need to detach one specific child key while keeping other children linked. To detach multiple children at once, use the batch unlink endpoint. This operation is only available on main projects. It returns 422 when the child key is not currently linked to the specified parent key, or when a translation update fails during the unlink process.
|
|
56
56
|
# @param project_id Project ID
|
|
57
57
|
# @param id Parent Translation Key ID
|
|
58
|
-
# @param child_key_id The ID of the child key to unlink.
|
|
58
|
+
# @param child_key_id The ID of the child translation key to unlink from the parent.
|
|
59
59
|
# @param [Hash] opts the optional parameters
|
|
60
60
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
|
61
61
|
# @return [nil]
|
|
@@ -67,7 +67,7 @@ describe 'LinkedKeysApi' do
|
|
|
67
67
|
|
|
68
68
|
# unit tests for key_links_index
|
|
69
69
|
# List child keys of a parent key
|
|
70
|
-
# Returns
|
|
70
|
+
# Returns the key link record for a parent key, including all child keys associated with it. Key linking lets translation keys share translations — a child key inherits content from its designated parent. Use this endpoint to inspect which keys are linked under a given parent before unlinking them or auditing translation consistency across related keys. The key identified by `id` must be designated as a parent key (it must have at least one child key linked to it). Listing the links of a key that is not a parent returns 400.
|
|
71
71
|
# @param project_id Project ID
|
|
72
72
|
# @param id Parent Translation Key ID
|
|
73
73
|
# @param [Hash] opts the optional parameters
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'json'
|
|
3
|
+
|
|
4
|
+
# Unit tests for Phrase::PreTranslationsApi
|
|
5
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
6
|
+
# Please update as you see appropriate
|
|
7
|
+
describe 'PreTranslationsApi' do
|
|
8
|
+
before do
|
|
9
|
+
# run before each test
|
|
10
|
+
@api_instance = Phrase::PreTranslationsApi.new
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
after do
|
|
14
|
+
# run after each test
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
describe 'test an instance of PreTranslationsApi' do
|
|
18
|
+
it 'should create an instance of PreTranslationsApi' do
|
|
19
|
+
expect(@api_instance).to be_instance_of(Phrase::PreTranslationsApi)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# unit tests for pre_translation_create
|
|
24
|
+
# Create a pre-translation job
|
|
25
|
+
# Triggers a pre-translation job for a resource within a project, addressed by `translatable_type` (`locale`, `job`, `translation_key`, or `upload`) and `translatable_id` (its ID). Enqueues machine translation using the project's configured MT engine.
|
|
26
|
+
# @param project_id Project ID
|
|
27
|
+
# @param pre_translation_create_parameters
|
|
28
|
+
# @param [Hash] opts the optional parameters
|
|
29
|
+
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
|
30
|
+
# @return [PreTranslation]
|
|
31
|
+
describe 'pre_translation_create test' do
|
|
32
|
+
it 'should work' do
|
|
33
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# unit tests for pre_translation_show
|
|
38
|
+
# Get a single pre-translation job
|
|
39
|
+
# Returns a single pre-translation job identified by its ID.
|
|
40
|
+
# @param project_id Project ID
|
|
41
|
+
# @param id ID
|
|
42
|
+
# @param [Hash] opts the optional parameters
|
|
43
|
+
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
|
44
|
+
# @option opts [String] :if_modified_since Last modified condition, see [Conditional GET requests / HTTP Caching](/en/api/strings/pagination#conditional-get-requests-%2F-http-caching) (optional)
|
|
45
|
+
# @option opts [String] :if_none_match ETag condition, see [Conditional GET requests / HTTP Caching](/en/api/strings/pagination#conditional-get-requests-%2F-http-caching) (optional)
|
|
46
|
+
# @return [PreTranslation]
|
|
47
|
+
describe 'pre_translation_show test' do
|
|
48
|
+
it 'should work' do
|
|
49
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# unit tests for pre_translations_list
|
|
54
|
+
# List pre-translation jobs
|
|
55
|
+
# Returns all pre-translation jobs scoped to a project, ordered by creation date descending.
|
|
56
|
+
# @param project_id Project ID
|
|
57
|
+
# @param [Hash] opts the optional parameters
|
|
58
|
+
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
|
59
|
+
# @option opts [String] :if_modified_since Last modified condition, see [Conditional GET requests / HTTP Caching](/en/api/strings/pagination#conditional-get-requests-%2F-http-caching) (optional)
|
|
60
|
+
# @option opts [String] :if_none_match ETag condition, see [Conditional GET requests / HTTP Caching](/en/api/strings/pagination#conditional-get-requests-%2F-http-caching) (optional)
|
|
61
|
+
# @option opts [Integer] :page Page number
|
|
62
|
+
# @option opts [Integer] :per_page Limit on the number of objects to be returned, between 1 and 100. 25 by default
|
|
63
|
+
# @return [Array<PreTranslation>]
|
|
64
|
+
describe 'pre_translations_list test' do
|
|
65
|
+
it 'should work' do
|
|
66
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
end
|
|
@@ -22,14 +22,14 @@ describe 'ScreenshotsApi' do
|
|
|
22
22
|
|
|
23
23
|
# unit tests for screenshot_create
|
|
24
24
|
# Create a screenshot
|
|
25
|
-
#
|
|
25
|
+
# Creates a screenshot in a project to provide visual context for in-context translation. Attach translation keys to regions of the uploaded image so translators can see where each string appears in your UI. This endpoint accepts a multipart/form-data request with a binary file upload, unlike most Phrase API endpoints that use JSON. Use a multipart form client or the -F flag in curl rather than a JSON body. The screenshot name must be unique within the project (case-insensitive). When name is omitted, it is derived from the uploaded filename. The account must have the Screenshots feature enabled; requests to projects on accounts without it return 403. Creating a screenshot requires a token with the write scope and manage access to the project.
|
|
26
26
|
# @param project_id Project ID
|
|
27
|
+
# @param filename Image file to upload. Accepted formats are JPEG (jpg/jpeg), GIF, and PNG. Maximum file size is 10 MB. Submitting an unsupported format or a file exceeding the size limit returns 422.
|
|
27
28
|
# @param [Hash] opts the optional parameters
|
|
28
29
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
|
29
30
|
# @option opts [String] :branch specify the branch to use
|
|
30
|
-
# @option opts [String] :name
|
|
31
|
-
# @option opts [String] :description
|
|
32
|
-
# @option opts [File] :filename Screenshot file
|
|
31
|
+
# @option opts [String] :name Display name for the screenshot. Must be unique within the project (case-insensitive). When omitted, the name is derived from the uploaded filename.
|
|
32
|
+
# @option opts [String] :description Optional free-text description of the screenshot.
|
|
33
33
|
# @return [Screenshot]
|
|
34
34
|
describe 'screenshot_create test' do
|
|
35
35
|
it 'should work' do
|
|
@@ -39,7 +39,7 @@ describe 'ScreenshotsApi' do
|
|
|
39
39
|
|
|
40
40
|
# unit tests for screenshot_delete
|
|
41
41
|
# Delete a screenshot
|
|
42
|
-
#
|
|
42
|
+
# Permanently removes a screenshot and all its associated markers from the project. Use this when you need to fully remove a screenshot that is no longer relevant — for example, after a UI redesign renders the captured screen obsolete. This is a hard delete: the screenshot record and every key-to-region marker linked to it are destroyed together and cannot be recovered.
|
|
43
43
|
# @param project_id Project ID
|
|
44
44
|
# @param id ID
|
|
45
45
|
# @param [Hash] opts the optional parameters
|
|
@@ -54,7 +54,7 @@ describe 'ScreenshotsApi' do
|
|
|
54
54
|
|
|
55
55
|
# unit tests for screenshot_show
|
|
56
56
|
# Get a single screenshot
|
|
57
|
-
#
|
|
57
|
+
# Returns a single screenshot belonging to the specified project. Use this to retrieve the screenshot's name, description, hosted image URL, and marker count after uploading, or before creating, updating, or inspecting its markers. The response is a synchronous, idempotent read — repeated calls return the same record without side effects. The Attachable Screenshots feature must be enabled on the account.
|
|
58
58
|
# @param project_id Project ID
|
|
59
59
|
# @param id ID
|
|
60
60
|
# @param [Hash] opts the optional parameters
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'json'
|
|
3
|
+
require 'date'
|
|
4
|
+
|
|
5
|
+
# Unit tests for Phrase::AutomationEventProject
|
|
6
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
7
|
+
# Please update as you see appropriate
|
|
8
|
+
describe 'AutomationEventProject' do
|
|
9
|
+
before do
|
|
10
|
+
# run before each test
|
|
11
|
+
@instance = Phrase::AutomationEventProject.new
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
after do
|
|
15
|
+
# run after each test
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
describe 'test an instance of AutomationEventProject' do
|
|
19
|
+
it 'should create an instance of AutomationEventProject' do
|
|
20
|
+
expect(@instance).to be_instance_of(Phrase::AutomationEventProject)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
describe 'test attribute "id"' do
|
|
24
|
+
it 'should work' do
|
|
25
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test attribute "name"' do
|
|
30
|
+
it 'should work' do
|
|
31
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
end
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'json'
|
|
3
|
+
require 'date'
|
|
4
|
+
|
|
5
|
+
# Unit tests for Phrase::AutomationEvent
|
|
6
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
7
|
+
# Please update as you see appropriate
|
|
8
|
+
describe 'AutomationEvent' do
|
|
9
|
+
before do
|
|
10
|
+
# run before each test
|
|
11
|
+
@instance = Phrase::AutomationEvent.new
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
after do
|
|
15
|
+
# run after each test
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
describe 'test an instance of AutomationEvent' do
|
|
19
|
+
it 'should create an instance of AutomationEvent' do
|
|
20
|
+
expect(@instance).to be_instance_of(Phrase::AutomationEvent)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
describe 'test attribute "id"' do
|
|
24
|
+
it 'should work' do
|
|
25
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test attribute "automation_id"' do
|
|
30
|
+
it 'should work' do
|
|
31
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
describe 'test attribute "state"' do
|
|
36
|
+
it 'should work' do
|
|
37
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
38
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["success", "failure", "in_progress"])
|
|
39
|
+
# validator.allowable_values.each do |value|
|
|
40
|
+
# expect { @instance.state = value }.not_to raise_error
|
|
41
|
+
# end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
describe 'test attribute "triggered_by"' do
|
|
46
|
+
it 'should work' do
|
|
47
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
48
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["manual", "schedule", "upload", "upload_batch"])
|
|
49
|
+
# validator.allowable_values.each do |value|
|
|
50
|
+
# expect { @instance.triggered_by = value }.not_to raise_error
|
|
51
|
+
# end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
describe 'test attribute "created_at"' do
|
|
56
|
+
it 'should work' do
|
|
57
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
describe 'test attribute "jobs_created"' do
|
|
62
|
+
it 'should work' do
|
|
63
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
describe 'test attribute "job_ids"' do
|
|
68
|
+
it 'should work' do
|
|
69
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
describe 'test attribute "project"' do
|
|
74
|
+
it 'should work' do
|
|
75
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
describe 'test attribute "details"' do
|
|
80
|
+
it 'should work' do
|
|
81
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
end
|