solidus_paypal_commerce_platform 0.2.2 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e6b42e62ea794f6f98a382e3944a86f1b03130eef00a43691d731396b424b1a6
4
- data.tar.gz: ed073fde27a260b13e256619efa1e0382bbe9e682d0a02312716b064acbec74c
3
+ metadata.gz: aae67f5e5c8af750b1f887d988b383dfa5ea5f9eb4fea2e3e3560a9179b63842
4
+ data.tar.gz: 0ad40e286a533be1433f73b83c3ed012f7887c5d3eae5ffa036298a8c465930c
5
5
  SHA512:
6
- metadata.gz: f65d2f2afb76c41ce0210766d7b38d5535caad5c14fb69e949fc48d0e64c0c80eae602e4e720b0e69db78484d316ab7af51f8850231e461c4067d302a953d523
7
- data.tar.gz: 04edef6d25e8e3421dacb99ff25ed2c9eda8c280430d7c7ad7dd61380e64fe907384545deb282da748dae3be745f6b02b832ca225c5494c4ffbaca20634b6ca4
6
+ metadata.gz: a773acc2923435a1765a8c7e2fa6508ef54011455fe4694df163b8a403a8446a8ee6b400c4fea8a1a0c56496db1b1e6fdbf662e83ad114076e9ea33cabe424e0
7
+ data.tar.gz: 61b973cfb34095b9913d0aded13a6510af224718c8a7094117c54e158c249b1f232e0ac3d26c116e4efadb873e3baf758f692302d12eb149822cfb8e056ea317
data/.rubocop.yml CHANGED
@@ -43,6 +43,10 @@ RSpec/VerifiedDoubles:
43
43
  # Sometimes you really need an "anything" double
44
44
  IgnoreSymbolicNames: true
45
45
 
46
+ Rspec/Naming/VariableNumber:
47
+ # PayPal uses snake_case, we use normal_case ¯\_(ツ)_/¯
48
+ Enabled: false
49
+
46
50
  Style/FrozenStringLiteralComment:
47
51
  Exclude:
48
52
  - spec/**/*
data/CHANGELOG.md CHANGED
@@ -1,13 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## [v0.3.0](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/tree/v0.3.0) (2021-03-16)
4
+
5
+ [Full Changelog](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/compare/v0.2.2...v0.3.0)
6
+
7
+ **Closed issues:**
8
+
9
+ - Prepare Solidus Paypal Commerce Platform for Solidus 3.0 [\#115](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/issues/115)
10
+
11
+ **Merged pull requests:**
12
+
13
+ - Use new factories loading method [\#118](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/pull/118) ([kennyadsl](https://github.com/kennyadsl))
14
+ - Update extension for Solidus 3.0 [\#117](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/pull/117) ([seand7565](https://github.com/seand7565))
15
+
3
16
  ## [v0.2.2](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/tree/v0.2.2) (2020-11-20)
4
17
 
5
18
  [Full Changelog](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/compare/v0.2.1...v0.2.2)
6
19
 
7
- **Closed issues:**
20
+ **Implemented enhancements:**
8
21
 
9
22
  - Make the PayPal messaging component a bit more modular [\#112](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/issues/112)
10
23
  - Implement and QA Paypal credit solutions [\#99](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/issues/99)
24
+
25
+ **Closed issues:**
26
+
11
27
  - Simulated Address Info in Live Order [\#104](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/issues/104)
12
28
 
13
29
  **Merged pull requests:**
@@ -59,7 +75,6 @@
59
75
  **Merged pull requests:**
60
76
 
61
77
  - Temporarily switch from apparition to cuprite [\#92](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/pull/92) ([elia](https://github.com/elia))
62
- - Update links after moving the repo to solidusio-contrib [\#91](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/pull/91) ([elia](https://github.com/elia))
63
78
  - Add a configurable state\_guesser class to guess states [\#90](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/pull/90) ([seand7565](https://github.com/seand7565))
64
79
  - Add better error handling to button\_actions.js [\#89](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/pull/89) ([seand7565](https://github.com/seand7565))
65
80
 
@@ -113,6 +128,7 @@
113
128
 
114
129
  **Merged pull requests:**
115
130
 
131
+ - Update links after moving the repo to solidusio-contrib [\#91](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/pull/91) ([elia](https://github.com/elia))
116
132
  - Use live partner ids [\#85](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/pull/85) ([elia](https://github.com/elia))
117
133
  - Update README to account for checkouts without a confirmation step [\#84](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/pull/84) ([seand7565](https://github.com/seand7565))
118
134
  - Replace order simulator with something simpler [\#82](https://github.com/solidusio-contrib/solidus_paypal_commerce_platform/pull/82) ([seand7565](https://github.com/seand7565))
@@ -19,7 +19,7 @@ module SolidusPaypalCommercePlatform
19
19
  end
20
20
 
21
21
  def update(paypal_address)
22
- formatted_address = format_address(paypal_address)
22
+ formatted_address = address_attributes(paypal_address[:updated_address], paypal_address[:recipient])
23
23
  new_address = @order.ship_address.dup || ::Spree::Address.new
24
24
  new_address.assign_attributes(formatted_address)
25
25
 
@@ -51,36 +51,35 @@ module SolidusPaypalCommercePlatform
51
51
  end
52
52
 
53
53
  def format_simulated_address(paypal_address)
54
- country = ::Spree::Country.find_by(iso: paypal_address[:country_code])
55
- # Also adds fake information for a few fields, so validations can run
54
+ # Adds fake information for a few fields, so validations can run
55
+ paypal_address[:address_line_1] = "123 Fake St."
56
+
56
57
  ::Spree::Address.new(
57
- city: paypal_address[:city],
58
- state: find_state(paypal_address[:state], country),
59
- state_name: paypal_address[:state],
60
- zipcode: paypal_address[:postal_code],
61
- country: country,
62
- address1: "123 Fake St.",
63
- phone: "123456789",
64
- firstname: "Fake"
58
+ address_attributes(paypal_address, { name: { given_name: "Fake" } })
65
59
  )
66
60
  end
67
61
 
68
- def format_address(paypal_address)
69
- address = paypal_address[:updated_address]
70
- recipient = paypal_address[:recipient]
62
+ def address_attributes(address, recipient)
71
63
  country = ::Spree::Country.find_by(iso: address[:country_code])
72
64
 
73
- {
65
+ attributes = {
74
66
  address1: address[:address_line_1],
75
67
  address2: address[:address_line_2],
76
- state: find_state(address[:admin_area_1], country),
77
- state_name: address[:admin_area_1],
78
- city: address[:admin_area_2],
68
+ state: find_state(address[:admin_area_1] || address[:state], country),
69
+ state_name: address[:admin_area_1] || address[:state],
70
+ city: address[:admin_area_2] || address[:city],
79
71
  country: country,
80
72
  zipcode: address[:postal_code],
81
- firstname: recipient[:name][:given_name],
82
- lastname: recipient[:name][:surname]
83
73
  }
74
+
75
+ if SolidusSupport.combined_first_and_last_name_in_address?
76
+ attributes[:name] = "#{recipient[:name][:given_name]} #{recipient[:name][:surname]}"
77
+ else
78
+ attributes[:firstname] = recipient[:name][:given_name]
79
+ attributes[:lastname] = recipient[:name][:surname]
80
+ end
81
+
82
+ attributes
84
83
  end
85
84
  end
86
85
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SolidusPaypalCommercePlatform
4
- VERSION = '0.2.2'
4
+ VERSION = '0.3.0'
5
5
  end
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
30
30
 
31
31
  spec.add_dependency 'deface', '~> 1.5'
32
32
  spec.add_dependency 'solidus_core', ['>= 2.0.0', '< 3']
33
- spec.add_dependency 'solidus_support', [">= 0.5.1", "< 1"]
33
+ spec.add_dependency 'solidus_support', [">= 0.8.0", "< 1"]
34
34
  spec.add_dependency 'solidus_webhooks', '~> 0.2'
35
35
 
36
36
  spec.add_dependency 'paypal-checkout-sdk'
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  RSpec.describe SolidusPaypalCommercePlatform::PaypalAddress, type: :model do
4
4
  let(:order) { create(:order) }
5
5
  let(:original_address) { create(:address) }
6
- let(:address) { create(:address) }
6
+ let(:address) { create(:address, name_attributes) }
7
7
  let(:params) {
8
8
  {
9
9
  updated_address: {
@@ -16,8 +16,8 @@ RSpec.describe SolidusPaypalCommercePlatform::PaypalAddress, type: :model do
16
16
  },
17
17
  recipient: {
18
18
  name: {
19
- given_name: address.firstname,
20
- surname: address.lastname
19
+ given_name: "Alexander",
20
+ surname: "Hamilton"
21
21
  }
22
22
  }
23
23
  }
@@ -37,8 +37,12 @@ RSpec.describe SolidusPaypalCommercePlatform::PaypalAddress, type: :model do
37
37
  expect(subject.address2).to eq address.address2
38
38
  expect(subject.zipcode).to eq address.zipcode
39
39
  expect(subject.country).to eq address.country
40
- expect(subject.firstname).to eq address.firstname
41
- expect(subject.lastname).to eq address.lastname
40
+ if SolidusSupport.combined_first_and_last_name_in_address?
41
+ expect(subject.name).to eq address.name
42
+ else
43
+ expect(subject.firstname).to eq address.firstname
44
+ expect(subject.lastname).to eq address.lastname
45
+ end
42
46
  expect(subject.phone).to eq original_address.phone
43
47
  end
44
48
 
@@ -52,4 +56,12 @@ RSpec.describe SolidusPaypalCommercePlatform::PaypalAddress, type: :model do
52
56
  end
53
57
  end
54
58
  end
59
+
60
+ def name_attributes
61
+ if SolidusSupport.combined_first_and_last_name_in_address?
62
+ { name: "Alexander Hamilton" }
63
+ else
64
+ { firstname: "Alexander", lastname: "Hamilton" }
65
+ end
66
+ end
55
67
  end
@@ -15,7 +15,7 @@ RSpec.describe SolidusPaypalCommercePlatform::OrdersController, type: :request d
15
15
 
16
16
  get solidus_paypal_commerce_platform.verify_total_path, params: params
17
17
 
18
- expect(response).to have_http_status(200)
18
+ expect(response).to have_http_status(:ok)
19
19
  end
20
20
  end
21
21
 
@@ -29,7 +29,7 @@ RSpec.describe SolidusPaypalCommercePlatform::OrdersController, type: :request d
29
29
 
30
30
  get solidus_paypal_commerce_platform.verify_total_path, params: params
31
31
 
32
- expect(response).to have_http_status(400)
32
+ expect(response).to have_http_status(:bad_request)
33
33
  end
34
34
  end
35
35
  end
@@ -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(201)
41
+ expect(response).to have_http_status(:created)
42
42
  end
43
43
  end
44
44
  end
data/spec/spec_helper.rb CHANGED
@@ -20,7 +20,7 @@ require 'spree/testing_support/order_walkthrough'
20
20
  Dir["#{__dir__}/support/**/*.rb"].sort.each { |f| require f }
21
21
 
22
22
  # Requires factories defined in lib/solidus_paypal_commerce_platform/testing_support/factories.rb
23
- require 'solidus_paypal_commerce_platform/testing_support/factories'
23
+ SolidusDevSupport::TestingSupport::Factories.load_for(SolidusPaypalCommercePlatform::Engine)
24
24
 
25
25
  RSpec.configure do |config|
26
26
  config.infer_spec_type_from_file_location!
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.2.2
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: 2020-11-20 00:00:00.000000000 Z
12
+ date: 2021-03-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: deface
@@ -51,7 +51,7 @@ dependencies:
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 0.5.1
54
+ version: 0.8.0
55
55
  - - "<"
56
56
  - !ruby/object:Gem::Version
57
57
  version: '1'
@@ -61,7 +61,7 @@ dependencies:
61
61
  requirements:
62
62
  - - ">="
63
63
  - !ruby/object:Gem::Version
64
- version: 0.5.1
64
+ version: 0.8.0
65
65
  - - "<"
66
66
  - !ruby/object:Gem::Version
67
67
  version: '1'