patch_ruby 1.2.2 → 1.4.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 +42 -2
- data/Gemfile +1 -0
- data/Gemfile.lock +19 -3
- data/Makefile +10 -0
- data/README.md +61 -4
- data/lib/patch_ruby/api/estimates_api.rb +195 -0
- data/lib/patch_ruby/api/projects_api.rb +9 -0
- data/lib/patch_ruby/models/allocation.rb +10 -0
- data/lib/patch_ruby/models/create_mass_estimate_request.rb +19 -1
- data/lib/patch_ruby/models/create_order_request.rb +38 -16
- data/lib/patch_ruby/models/create_preference_request.rb +7 -0
- data/lib/patch_ruby/models/error_response.rb +9 -0
- data/lib/patch_ruby/models/estimate.rb +24 -1
- data/lib/patch_ruby/models/estimate_list_response.rb +9 -0
- data/lib/patch_ruby/models/estimate_response.rb +9 -0
- data/lib/patch_ruby/models/meta_index_object.rb +11 -0
- data/lib/patch_ruby/models/order.rb +30 -1
- data/lib/patch_ruby/models/order_list_response.rb +9 -0
- data/lib/patch_ruby/models/order_response.rb +9 -0
- data/lib/patch_ruby/models/photo.rb +30 -4
- data/lib/patch_ruby/models/preference.rb +10 -0
- data/lib/patch_ruby/models/preference_list_response.rb +9 -0
- data/lib/patch_ruby/models/preference_response.rb +9 -0
- data/lib/patch_ruby/models/project.rb +40 -4
- data/lib/patch_ruby/models/project_list_response.rb +9 -0
- data/lib/patch_ruby/models/project_response.rb +9 -0
- data/lib/patch_ruby/models/sdg.rb +269 -0
- data/lib/patch_ruby/models/standard.rb +10 -0
- data/lib/patch_ruby/version.rb +1 -1
- data/spec/constants.rb +3 -0
- data/spec/factories/allocations.rb +7 -0
- data/spec/factories/create_mass_estimate_requests.rb +6 -0
- data/spec/factories/create_order_requests.rb +8 -0
- data/spec/factories/create_preference_requests.rb +5 -0
- data/spec/factories/error_responses.rb +7 -0
- data/spec/factories/estimate_list_responses.rb +8 -0
- data/spec/factories/estimate_responses.rb +7 -0
- data/spec/factories/estimates.rb +8 -0
- data/spec/factories/meta_index_objects.rb +6 -0
- data/spec/factories/order_list_responses.rb +8 -0
- data/spec/factories/order_responses.rb +7 -0
- data/spec/factories/orders.rb +12 -0
- data/spec/factories/preference_list_responses.rb +8 -0
- data/spec/factories/preference_responses.rb +7 -0
- data/spec/factories/preferences.rb +7 -0
- data/spec/factories/project_list_responses.rb +8 -0
- data/spec/factories/project_responses.rb +7 -0
- data/spec/factories/projects.rb +15 -0
- data/spec/integration/estimates_spec.rb +53 -9
- data/spec/integration/orders_spec.rb +42 -5
- data/spec/integration/preferences_spec.rb +7 -3
- data/spec/integration/projects_spec.rb +21 -1
- data/spec/models/allocation_spec.rb +8 -1
- data/spec/models/create_mass_estimate_request_spec.rb +7 -1
- data/spec/models/create_order_request_spec.rb +7 -1
- data/spec/models/create_preference_request_spec.rb +8 -1
- data/spec/models/error_response_spec.rb +7 -1
- data/spec/models/estimate_list_response_spec.rb +7 -1
- data/spec/models/estimate_response_spec.rb +7 -1
- data/spec/models/estimate_spec.rb +8 -1
- data/spec/models/meta_index_object_spec.rb +7 -1
- data/spec/models/order_list_response_spec.rb +7 -1
- data/spec/models/order_response_spec.rb +7 -1
- data/spec/models/order_spec.rb +18 -1
- data/spec/models/preference_list_response_spec.rb +7 -1
- data/spec/models/preference_response_spec.rb +7 -1
- data/spec/models/preference_spec.rb +7 -1
- data/spec/models/project_list_response_spec.rb +7 -1
- data/spec/models/project_response_spec.rb +7 -1
- data/spec/models/project_spec.rb +21 -1
- data/spec/spec_helper.rb +11 -0
- data/spec/support/shared/generated_classes.rb +13 -0
- metadata +56 -14
@@ -20,13 +20,19 @@ require 'date'
|
|
20
20
|
describe 'CreateMassEstimateRequest' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:create_mass_estimate_request)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { project_id: @instance.project_id, mass_g: @instance.mass_g } }
|
33
|
+
let(:nullable_properties) { Set.new(["create_order"]) }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of CreateMassEstimateRequest' do
|
31
37
|
it 'should create an instance of CreateMassEstimateRequest' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::CreateMassEstimateRequest)
|
@@ -20,13 +20,19 @@ require 'date'
|
|
20
20
|
describe 'CreateOrderRequest' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:create_order_request)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { project_id: @instance.project_id, mass_g: @instance.mass_g, total_price_cents_usd: @instance.total_price_cents_usd, metadata: @instance.metadata } }
|
33
|
+
let(:nullable_properties) { Set.new }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of CreateOrderRequest' do
|
31
37
|
it 'should create an instance of CreateOrderRequest' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::CreateOrderRequest)
|
@@ -20,18 +20,25 @@ require 'date'
|
|
20
20
|
describe 'CreatePreferenceRequest' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:create_preference_request)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { project_id: @instance.project_id } }
|
33
|
+
let(:nullable_properties) { Set.new }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of CreatePreferenceRequest' do
|
31
37
|
it 'should create an instance of CreatePreferenceRequest' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::CreatePreferenceRequest)
|
33
39
|
end
|
34
40
|
end
|
41
|
+
|
35
42
|
describe 'test attribute "project_id"' do
|
36
43
|
it 'should work' do
|
37
44
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
@@ -20,13 +20,19 @@ require 'date'
|
|
20
20
|
describe 'ErrorResponse' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:error_response)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { success: @instance.success, error: @instance.error, data: @instance.data } }
|
33
|
+
let(:nullable_properties) { Set.new(["data"]) }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of ErrorResponse' do
|
31
37
|
it 'should create an instance of ErrorResponse' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::ErrorResponse)
|
@@ -20,13 +20,19 @@ require 'date'
|
|
20
20
|
describe 'EstimateListResponse' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:estimate_list_response)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { success: @instance.success, error: @instance.error, data: @instance.data, meta: @instance.meta } }
|
33
|
+
let(:nullable_properties) { Set.new(["error"]) }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of EstimateListResponse' do
|
31
37
|
it 'should create an instance of EstimateListResponse' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::EstimateListResponse)
|
@@ -20,13 +20,19 @@ require 'date'
|
|
20
20
|
describe 'EstimateResponse' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:estimate_response)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { success: @instance.success, error: @instance.error, data: @instance.data } }
|
33
|
+
let(:nullable_properties) { Set.new(["error"]) }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of EstimateResponse' do
|
31
37
|
it 'should create an instance of EstimateResponse' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::EstimateResponse)
|
@@ -20,18 +20,25 @@ require 'date'
|
|
20
20
|
describe 'Estimate' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:estimate)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { id: @instance.id, order: @instance.order.to_hash, production: @instance.production, type: @instance.type } }
|
33
|
+
let(:nullable_properties) { Set.new(["order"]) }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of Estimate' do
|
31
37
|
it 'should create an instance of Estimate' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::Estimate)
|
33
39
|
end
|
34
40
|
end
|
41
|
+
|
35
42
|
describe 'test attribute "id"' do
|
36
43
|
it 'should work' do
|
37
44
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
@@ -20,13 +20,19 @@ require 'date'
|
|
20
20
|
describe 'MetaIndexObject' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:meta_index_object)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { next_page: @instance.next_page, prev_page: @instance.prev_page } }
|
33
|
+
let(:nullable_properties) { Set.new(["next_page", "prev_page"]) }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of MetaIndexObject' do
|
31
37
|
it 'should create an instance of MetaIndexObject' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::MetaIndexObject)
|
@@ -20,13 +20,19 @@ require 'date'
|
|
20
20
|
describe 'OrderListResponse' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:order_list_response)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { success: @instance.success, error: @instance.error, data: @instance.data, meta: @instance.meta } }
|
33
|
+
let(:nullable_properties) { Set.new(["error"]) }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of OrderListResponse' do
|
31
37
|
it 'should create an instance of OrderListResponse' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::OrderListResponse)
|
@@ -20,13 +20,19 @@ require 'date'
|
|
20
20
|
describe 'OrderResponse' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:order_response)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { success: @instance.success, error: @instance.error, data: @instance.data } }
|
33
|
+
let(:nullable_properties) { Set.new(["error"]) }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of OrderResponse' do
|
31
37
|
it 'should create an instance of OrderResponse' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::OrderResponse)
|
data/spec/models/order_spec.rb
CHANGED
@@ -20,13 +20,30 @@ require 'date'
|
|
20
20
|
describe 'Order' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:order)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) {
|
33
|
+
{
|
34
|
+
id: @instance.id,
|
35
|
+
mass_g: @instance.mass_g,
|
36
|
+
production: @instance.production,
|
37
|
+
state: @instance.state,
|
38
|
+
allocation_state: @instance.allocation_state,
|
39
|
+
price_cents_usd: @instance.price_cents_usd,
|
40
|
+
patch_fee_cents_usd: @instance.patch_fee_cents_usd,
|
41
|
+
metadata: @instance.metadata
|
42
|
+
}
|
43
|
+
}
|
44
|
+
let(:nullable_properties) { Set.new(["patch_fee_cents_usd", "price_cents_usd"]) }
|
45
|
+
end
|
46
|
+
|
30
47
|
describe 'test an instance of Order' do
|
31
48
|
it 'should create an instance of Order' do
|
32
49
|
expect(@instance).to be_instance_of(Patch::Order)
|
@@ -20,13 +20,19 @@ require 'date'
|
|
20
20
|
describe 'PreferenceListResponse' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:preference_list_response)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { success: @instance.success, error: @instance.error, data: @instance.data, meta: @instance.meta } }
|
33
|
+
let(:nullable_properties) { Set.new(["error"]) }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of PreferenceListResponse' do
|
31
37
|
it 'should create an instance of PreferenceListResponse' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::PreferenceListResponse)
|
@@ -20,13 +20,19 @@ require 'date'
|
|
20
20
|
describe 'PreferenceResponse' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:preference_response)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { success: @instance.success, error: @instance.error, data: @instance.data } }
|
33
|
+
let(:nullable_properties) { Set.new(["error"]) }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of PreferenceResponse' do
|
31
37
|
it 'should create an instance of PreferenceResponse' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::PreferenceResponse)
|
@@ -20,13 +20,19 @@ require 'date'
|
|
20
20
|
describe 'Preference' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:preference)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { id: @instance.id, project: @instance.project.to_hash, allocation_percentage: @instance.allocation_percentage } }
|
33
|
+
let(:nullable_properties) { Set.new }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of Preference' do
|
31
37
|
it 'should create an instance of Preference' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::Preference)
|
@@ -20,13 +20,19 @@ require 'date'
|
|
20
20
|
describe 'ProjectListResponse' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:project_list_response)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { success: @instance.success, error: @instance.error, data: @instance.data, meta: @instance.meta } }
|
33
|
+
let(:nullable_properties) { Set.new(["error"]) }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of ProjectListResponse' do
|
31
37
|
it 'should create an instance of ProjectListResponse' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::ProjectListResponse)
|
@@ -20,13 +20,19 @@ require 'date'
|
|
20
20
|
describe 'ProjectResponse' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:project_response)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) { { success: @instance.success, error: @instance.error, data: @instance.data } }
|
33
|
+
let(:nullable_properties) { Set.new(["error"]) }
|
34
|
+
end
|
35
|
+
|
30
36
|
describe 'test an instance of ProjectResponse' do
|
31
37
|
it 'should create an instance of ProjectResponse' do
|
32
38
|
expect(@instance).to be_instance_of(Patch::ProjectResponse)
|
data/spec/models/project_spec.rb
CHANGED
@@ -20,13 +20,33 @@ require 'date'
|
|
20
20
|
describe 'Project' do
|
21
21
|
before do
|
22
22
|
# run before each test
|
23
|
-
@instance =
|
23
|
+
@instance = build(:project)
|
24
24
|
end
|
25
25
|
|
26
26
|
after do
|
27
27
|
# run after each test
|
28
28
|
end
|
29
29
|
|
30
|
+
it_behaves_like "a generated class" do
|
31
|
+
let(:instance) { @instance }
|
32
|
+
let(:instance_hash) {
|
33
|
+
{
|
34
|
+
id: @instance.id,
|
35
|
+
name: @instance.name,
|
36
|
+
description: @instance.description,
|
37
|
+
production: @instance.production,
|
38
|
+
type: @instance.type,
|
39
|
+
country: @instance.country,
|
40
|
+
developer: @instance.developer,
|
41
|
+
photos: @instance.photos,
|
42
|
+
average_price_per_tonne_cents_usd: @instance.average_price_per_tonne_cents_usd,
|
43
|
+
remaining_mass_g: @instance.remaining_mass_g,
|
44
|
+
standard: @instance.standard
|
45
|
+
}
|
46
|
+
}
|
47
|
+
let(:nullable_properties) { Set.new(["photos", "standard", "sdgs"]) }
|
48
|
+
end
|
49
|
+
|
30
50
|
describe 'test an instance of Project' do
|
31
51
|
it 'should create an instance of Project' do
|
32
52
|
expect(@instance).to be_instance_of(Patch::Project)
|
data/spec/spec_helper.rb
CHANGED
@@ -12,6 +12,11 @@ OpenAPI Generator version: 4.3.1
|
|
12
12
|
|
13
13
|
# load the gem
|
14
14
|
require 'patch_ruby'
|
15
|
+
require 'constants'
|
16
|
+
require 'factory_bot'
|
17
|
+
|
18
|
+
# Require shared spec examples
|
19
|
+
Dir["./spec/support/**/*.rb"].sort.each { |f| require f }
|
15
20
|
|
16
21
|
# The following was generated by the `rspec --init` command. Conventionally, all
|
17
22
|
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
@@ -32,6 +37,12 @@ require 'patch_ruby'
|
|
32
37
|
#
|
33
38
|
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
34
39
|
RSpec.configure do |config|
|
40
|
+
# Use FactoryBot for test factories
|
41
|
+
config.include FactoryBot::Syntax::Methods
|
42
|
+
config.before(:suite) do
|
43
|
+
FactoryBot.find_definitions
|
44
|
+
end
|
45
|
+
|
35
46
|
# rspec-expectations config goes here. You can use an alternate
|
36
47
|
# assertion/expectation library such as wrong or the stdlib/minitest
|
37
48
|
# assertions if you prefer.
|
@@ -0,0 +1,13 @@
|
|
1
|
+
RSpec.shared_examples "a generated class" do
|
2
|
+
describe '.openapi_nullable' do
|
3
|
+
it 'returns a set with nullable properties' do
|
4
|
+
expect(instance.class.openapi_nullable).to eq nullable_properties
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
describe '#to_hash' do
|
9
|
+
it 'returns a set with nullable properties' do
|
10
|
+
expect(@instance.to_hash).to eq(instance_hash)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|