solidus_paypal_commerce_platform 0.0.1 → 0.3.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/.github/stale.yml +4 -4
- data/.github_changelog_generator +2 -0
- data/.rubocop.yml +18 -5
- data/CHANGELOG.md +181 -0
- data/README.md +49 -28
- data/app/assets/javascripts/spree/frontend/solidus_paypal_commerce_platform/button_actions.js +14 -4
- data/app/assets/javascripts/spree/frontend/solidus_paypal_commerce_platform/buttons.js +6 -3
- data/app/controllers/solidus_paypal_commerce_platform/orders_controller.rb +8 -5
- data/app/controllers/solidus_paypal_commerce_platform/paypal_orders_controller.rb +3 -1
- data/app/decorators/models/solidus_paypal_commerce_platform/spree/address_decorator.rb +17 -0
- data/app/jobs/solidus_paypal_commerce_platform/webhook_job.rb +3 -3
- data/app/models/solidus_paypal_commerce_platform/gateway.rb +1 -2
- data/app/models/solidus_paypal_commerce_platform/payment_method.rb +4 -1
- data/app/models/solidus_paypal_commerce_platform/paypal_address.rb +27 -23
- data/app/models/solidus_paypal_commerce_platform/paypal_order.rb +3 -3
- data/app/models/solidus_paypal_commerce_platform/pricing_options.rb +1 -1
- data/app/models/solidus_paypal_commerce_platform/state_guesser.rb +28 -0
- data/bin/rails-sandbox +1 -3
- data/bin/sandbox +2 -2
- data/lib/generators/solidus_paypal_commerce_platform/install/install_generator.rb +14 -5
- data/lib/generators/solidus_paypal_commerce_platform/install/templates/initializer.rb +6 -0
- data/lib/solidus_paypal_commerce_platform.rb +7 -5
- data/lib/solidus_paypal_commerce_platform/client.rb +5 -4
- data/lib/solidus_paypal_commerce_platform/configuration.rb +14 -4
- data/lib/solidus_paypal_commerce_platform/{factories.rb → testing_support/factories.rb} +0 -0
- data/lib/solidus_paypal_commerce_platform/version.rb +1 -1
- data/lib/views/frontend/solidus_paypal_commerce_platform/shared/_javascript_sdk_tag.html.erb +6 -0
- data/lib/views/frontend/spree/checkout/payment/_paypal_commerce_platform.html.erb +6 -1
- data/lib/views/frontend/spree/orders/payment/_paypal_commerce_platform.html.erb +3 -2
- data/lib/views/frontend/spree/products/payment/_paypal_commerce_platform.html.erb +3 -2
- data/solidus_paypal_commerce_platform.gemspec +7 -6
- data/spec/features/frontend/cart_spec.rb +21 -13
- data/spec/features/frontend/checkout_spec.rb +21 -13
- data/spec/features/frontend/product_spec.rb +27 -15
- data/spec/lib/solidus_paypal_commerce_platform/client_spec.rb +1 -1
- data/spec/lib/solidus_paypal_commerce_platform/configuration_spec.rb +28 -4
- data/spec/models/solidus_paypal_commerce_platform/payment_method_spec.rb +19 -0
- data/spec/models/solidus_paypal_commerce_platform/paypal_address_spec.rb +17 -5
- data/spec/models/solidus_paypal_commerce_platform/state_guesser_spec.rb +38 -0
- data/spec/requests/solidus_paypal_commerce_platform/orders_controller_spec.rb +2 -2
- data/spec/requests/solidus_paypal_commerce_platform/shipping_rates_controller_spec.rb +3 -3
- data/spec/requests/solidus_paypal_commerce_platform/wizard_controller_spec.rb +1 -1
- data/spec/spec_helper.rb +10 -8
- data/spec/support/capybara.rb +11 -0
- data/spec/support/paypal_sdk_script_tag_helper.rb +13 -0
- metadata +46 -15
- data/app/decorators/solidus_paypal_commerce_platform/remove_required_phone_from_address.rb +0 -13
@@ -23,9 +23,9 @@ RSpec.describe SolidusPaypalCommercePlatform::ShippingRatesController, type: :re
|
|
23
23
|
}
|
24
24
|
end
|
25
25
|
|
26
|
-
it "returns a paypal_order
|
27
|
-
expect(response.body).
|
28
|
-
expect(response.body).not_to include order.ship_address.state.abbr
|
26
|
+
it "returns a paypal_order without the simulated address" do
|
27
|
+
expect(response.body).not_to include "admin_area_1\":\"#{new_address.state.abbr}\""
|
28
|
+
expect(response.body).not_to include "admin_area_1\":\"#{order.ship_address.state.abbr}\""
|
29
29
|
end
|
30
30
|
|
31
31
|
it "does not modify original address" do
|
@@ -38,7 +38,7 @@ RSpec.describe SolidusPaypalCommercePlatform::WizardController, type: :request d
|
|
38
38
|
|
39
39
|
expect(payment_method.preferred_client_id).to eq("CLIENT-ID")
|
40
40
|
expect(payment_method.preferred_client_secret).to eq("CLIENT-SECRET")
|
41
|
-
expect(response).to have_http_status(
|
41
|
+
expect(response).to have_http_status(:created)
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -7,11 +7,9 @@ ENV['RAILS_ENV'] = 'test'
|
|
7
7
|
require 'solidus_dev_support/rspec/coverage'
|
8
8
|
|
9
9
|
# Create the dummy app if it's still missing.
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
require dummy_app_environment
|
10
|
+
dummy_env = "#{__dir__}/dummy/config/environment.rb"
|
11
|
+
system 'bin/rake extension:test_app' unless File.exist? dummy_env
|
12
|
+
require dummy_env
|
15
13
|
|
16
14
|
# Requires factories and other useful helpers defined in spree_core.
|
17
15
|
require 'solidus_dev_support/rspec/feature_helper'
|
@@ -19,12 +17,16 @@ require 'spree/testing_support/order_walkthrough'
|
|
19
17
|
|
20
18
|
# Requires supporting ruby files with custom matchers and macros, etc,
|
21
19
|
# in spec/support/ and its subdirectories.
|
22
|
-
Dir[
|
20
|
+
Dir["#{__dir__}/support/**/*.rb"].sort.each { |f| require f }
|
23
21
|
|
24
|
-
# Requires factories defined in lib/solidus_paypal_commerce_platform/factories.rb
|
25
|
-
|
22
|
+
# Requires factories defined in lib/solidus_paypal_commerce_platform/testing_support/factories.rb
|
23
|
+
SolidusDevSupport::TestingSupport::Factories.load_for(SolidusPaypalCommercePlatform::Engine)
|
26
24
|
|
27
25
|
RSpec.configure do |config|
|
28
26
|
config.infer_spec_type_from_file_location!
|
29
27
|
config.use_transactional_fixtures = false
|
28
|
+
|
29
|
+
if Spree.solidus_gem_version < Gem::Version.new('2.11')
|
30
|
+
config.extend Spree::TestingSupport::AuthorizationHelpers::Request, type: :system
|
31
|
+
end
|
30
32
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "capybara/cuprite"
|
2
|
+
|
3
|
+
Capybara.javascript_driver = :cuprite
|
4
|
+
|
5
|
+
Capybara.register_driver(:cuprite) do |app|
|
6
|
+
# Set `export INSPECTOR=true` and add `page.driver.debug(binding)` to open a Chrome tab
|
7
|
+
# to debug the browser status.
|
8
|
+
#
|
9
|
+
# See also: https://github.com/rubycdp/cuprite#debugging
|
10
|
+
Capybara::Cuprite::Driver.new(app, window_size: [1920, 1080], inspector: ENV["INSPECTOR"])
|
11
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module PaypalSdkScriptTagHelper
|
2
|
+
def js_sdk_script_query
|
3
|
+
URI(page.find('script[src*="sdk/js?"]', visible: false)[:src]).query.split('&')
|
4
|
+
end
|
5
|
+
|
6
|
+
def js_sdk_script_partner_id
|
7
|
+
page.find('script[src*="sdk/js?"]', visible: false)['data-partner-attribution-id']
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
RSpec.configure do |config|
|
12
|
+
config.include PaypalSdkScriptTagHelper, type: :feature
|
13
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solidus_paypal_commerce_platform
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Denny
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-03-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: deface
|
@@ -49,30 +49,36 @@ dependencies:
|
|
49
49
|
name: solidus_support
|
50
50
|
requirement: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.8.0
|
55
|
+
- - "<"
|
53
56
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
57
|
+
version: '1'
|
55
58
|
type: :runtime
|
56
59
|
prerelease: false
|
57
60
|
version_requirements: !ruby/object:Gem::Requirement
|
58
61
|
requirements:
|
59
|
-
- - "
|
62
|
+
- - ">="
|
60
63
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
64
|
+
version: 0.8.0
|
65
|
+
- - "<"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '1'
|
62
68
|
- !ruby/object:Gem::Dependency
|
63
69
|
name: solidus_webhooks
|
64
70
|
requirement: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
72
|
- - "~>"
|
67
73
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.2
|
74
|
+
version: '0.2'
|
69
75
|
type: :runtime
|
70
76
|
prerelease: false
|
71
77
|
version_requirements: !ruby/object:Gem::Requirement
|
72
78
|
requirements:
|
73
79
|
- - "~>"
|
74
80
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.2
|
81
|
+
version: '0.2'
|
76
82
|
- !ruby/object:Gem::Dependency
|
77
83
|
name: paypal-checkout-sdk
|
78
84
|
requirement: !ruby/object:Gem::Requirement
|
@@ -88,7 +94,7 @@ dependencies:
|
|
88
94
|
- !ruby/object:Gem::Version
|
89
95
|
version: '0'
|
90
96
|
- !ruby/object:Gem::Dependency
|
91
|
-
name:
|
97
|
+
name: cuprite
|
92
98
|
requirement: !ruby/object:Gem::Requirement
|
93
99
|
requirements:
|
94
100
|
- - ">="
|
@@ -101,6 +107,20 @@ dependencies:
|
|
101
107
|
- - ">="
|
102
108
|
- !ruby/object:Gem::Version
|
103
109
|
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: solidus_dev_support
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '2.1'
|
117
|
+
type: :development
|
118
|
+
prerelease: false
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '2.1'
|
104
124
|
description:
|
105
125
|
email: contact@solidus.io
|
106
126
|
executables: []
|
@@ -110,9 +130,11 @@ files:
|
|
110
130
|
- ".circleci/config.yml"
|
111
131
|
- ".gem_release.yml"
|
112
132
|
- ".github/stale.yml"
|
133
|
+
- ".github_changelog_generator"
|
113
134
|
- ".gitignore"
|
114
135
|
- ".rspec"
|
115
136
|
- ".rubocop.yml"
|
137
|
+
- CHANGELOG.md
|
116
138
|
- Gemfile
|
117
139
|
- LICENSE
|
118
140
|
- README.md
|
@@ -131,7 +153,7 @@ files:
|
|
131
153
|
- app/controllers/solidus_paypal_commerce_platform/paypal_orders_controller.rb
|
132
154
|
- app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
|
133
155
|
- app/controllers/solidus_paypal_commerce_platform/wizard_controller.rb
|
134
|
-
- app/decorators/solidus_paypal_commerce_platform/
|
156
|
+
- app/decorators/models/solidus_paypal_commerce_platform/spree/address_decorator.rb
|
135
157
|
- app/helpers/solidus_paypal_commerce_platform/button_options_helper.rb
|
136
158
|
- app/jobs/solidus_paypal_commerce_platform/application_job.rb
|
137
159
|
- app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
|
@@ -141,6 +163,7 @@ files:
|
|
141
163
|
- app/models/solidus_paypal_commerce_platform/paypal_address.rb
|
142
164
|
- app/models/solidus_paypal_commerce_platform/paypal_order.rb
|
143
165
|
- app/models/solidus_paypal_commerce_platform/pricing_options.rb
|
166
|
+
- app/models/solidus_paypal_commerce_platform/state_guesser.rb
|
144
167
|
- app/models/solidus_paypal_commerce_platform/wizard.rb
|
145
168
|
- app/overrides/spree/admin/payment_methods/form/insert_email_verification_notification.rb
|
146
169
|
- app/overrides/spree/admin/payment_methods/index/insert_setup_wizards.rb
|
@@ -164,13 +187,14 @@ files:
|
|
164
187
|
- config/routes.rb
|
165
188
|
- db/migrate/20200521190038_add_paypal_commerce_platform_sources.rb
|
166
189
|
- lib/generators/solidus_paypal_commerce_platform/install/install_generator.rb
|
190
|
+
- lib/generators/solidus_paypal_commerce_platform/install/templates/initializer.rb
|
167
191
|
- lib/solidus_paypal_commerce_platform.rb
|
168
192
|
- lib/solidus_paypal_commerce_platform/access_token_authorization_request.rb
|
169
193
|
- lib/solidus_paypal_commerce_platform/client.rb
|
170
194
|
- lib/solidus_paypal_commerce_platform/configuration.rb
|
171
195
|
- lib/solidus_paypal_commerce_platform/engine.rb
|
172
|
-
- lib/solidus_paypal_commerce_platform/factories.rb
|
173
196
|
- lib/solidus_paypal_commerce_platform/fetch_merchant_credentials_request.rb
|
197
|
+
- lib/solidus_paypal_commerce_platform/testing_support/factories.rb
|
174
198
|
- lib/solidus_paypal_commerce_platform/version.rb
|
175
199
|
- lib/views/api/spree/api/payments/source_views/_paypal_commerce_platform.json.jbuilder
|
176
200
|
- lib/views/backend/spree/admin/payments/source_forms/_paypal_commerce_platform.html.erb
|
@@ -179,6 +203,7 @@ files:
|
|
179
203
|
- lib/views/frontend/solidus_paypal_commerce_platform/cart/_cart_buttons.html.erb
|
180
204
|
- lib/views/frontend/solidus_paypal_commerce_platform/payments/_payment.html.erb
|
181
205
|
- lib/views/frontend/solidus_paypal_commerce_platform/product/_product_buttons.html.erb
|
206
|
+
- lib/views/frontend/solidus_paypal_commerce_platform/shared/_javascript_sdk_tag.html.erb
|
182
207
|
- lib/views/frontend/spree/checkout/payment/_paypal_commerce_platform.html.erb
|
183
208
|
- lib/views/frontend/spree/orders/payment/_paypal_commerce_platform.html.erb
|
184
209
|
- lib/views/frontend/spree/products/payment/_paypal_commerce_platform.html.erb
|
@@ -201,18 +226,21 @@ files:
|
|
201
226
|
- spec/models/solidus_paypal_commerce_platform/payment_method_spec.rb
|
202
227
|
- spec/models/solidus_paypal_commerce_platform/payment_source_spec.rb
|
203
228
|
- spec/models/solidus_paypal_commerce_platform/paypal_address_spec.rb
|
229
|
+
- spec/models/solidus_paypal_commerce_platform/state_guesser_spec.rb
|
204
230
|
- spec/models/solidus_paypal_commerce_platform/wizard_spec.rb
|
205
231
|
- spec/requests/solidus_paypal_commerce_platform/orders_controller_spec.rb
|
206
232
|
- spec/requests/solidus_paypal_commerce_platform/shipping_rates_controller_spec.rb
|
207
233
|
- spec/requests/solidus_paypal_commerce_platform/wizard_controller_spec.rb
|
208
234
|
- spec/spec_helper.rb
|
209
|
-
|
235
|
+
- spec/support/capybara.rb
|
236
|
+
- spec/support/paypal_sdk_script_tag_helper.rb
|
237
|
+
homepage: https://github.com/solidusio-contrib/solidus_paypal_commerce_platform
|
210
238
|
licenses:
|
211
239
|
- BSD-3-Clause
|
212
240
|
metadata:
|
213
|
-
homepage_uri: https://github.com/
|
214
|
-
source_code_uri: https://github.com/
|
215
|
-
changelog_uri: https://github.com/
|
241
|
+
homepage_uri: https://github.com/solidusio-contrib/solidus_paypal_commerce_platform
|
242
|
+
source_code_uri: https://github.com/solidusio-contrib/solidus_paypal_commerce_platform
|
243
|
+
changelog_uri: https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/releases
|
216
244
|
post_install_message:
|
217
245
|
rdoc_options: []
|
218
246
|
require_paths:
|
@@ -251,8 +279,11 @@ test_files:
|
|
251
279
|
- spec/models/solidus_paypal_commerce_platform/payment_method_spec.rb
|
252
280
|
- spec/models/solidus_paypal_commerce_platform/payment_source_spec.rb
|
253
281
|
- spec/models/solidus_paypal_commerce_platform/paypal_address_spec.rb
|
282
|
+
- spec/models/solidus_paypal_commerce_platform/state_guesser_spec.rb
|
254
283
|
- spec/models/solidus_paypal_commerce_platform/wizard_spec.rb
|
255
284
|
- spec/requests/solidus_paypal_commerce_platform/orders_controller_spec.rb
|
256
285
|
- spec/requests/solidus_paypal_commerce_platform/shipping_rates_controller_spec.rb
|
257
286
|
- spec/requests/solidus_paypal_commerce_platform/wizard_controller_spec.rb
|
258
287
|
- spec/spec_helper.rb
|
288
|
+
- spec/support/capybara.rb
|
289
|
+
- spec/support/paypal_sdk_script_tag_helper.rb
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RemoveRequiredPhoneFromAddress
|
4
|
-
# PayPal doesn't use the phone number, so in cases where the user checks out via
|
5
|
-
# PayPal, this field will be unpopulated. If you want to require phone numbers,
|
6
|
-
# you'll need to turn off cart & product page displays on the payment method edit
|
7
|
-
# page.
|
8
|
-
def require_phone?
|
9
|
-
super && false
|
10
|
-
end
|
11
|
-
|
12
|
-
::Spree::Address.prepend self
|
13
|
-
end
|