solidus_core 2.2.0 → 2.2.1

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.

Potentially problematic release.


This version of solidus_core might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 53dc4f25ad58a82b01ab735b4a551b0b661c8ef5
4
- data.tar.gz: c5a4f607efe39084b7eea2608be5d204390addc8
3
+ metadata.gz: c15f057db7ca6d5b45b75260b8591056bcea8aee
4
+ data.tar.gz: 49d2fc2856a7ab0c719109fb492f7aea075acec3
5
5
  SHA512:
6
- metadata.gz: 010e317d60b47d3d2b6691c28fbe43e774d8fdcd83be633d8241f7146158b7c0da7b8c48e4444e4b09d6f29f02792227a45b3d8176038f2aef2384754d3d4a7f
7
- data.tar.gz: 37221dcbd58a729005c0a4f814d79758c2b02385c9d0795103c8d1349537fc62bee288e9155c67df4dc5da2ae0394f20e5ef2bc940d18363120b30ed6eea7420
6
+ metadata.gz: b393535300c7c584403f87b3ee50b25210964f3a3e2540c2de6bf389f0219dcb8c9b43285585119225b9259eb84d4019e28f127e55507b4423268d0acdba32ab
7
+ data.tar.gz: aba6c7013b288673bcb66db07ba5c8a3c02799d3ba4f5003ccd1b350c5a848613242c0ae5a38d48d6bba3ecff292f16f4863af8bfc08548df1110e0cc5361516
@@ -61,7 +61,12 @@ class Spree::Wallet
61
61
  raise Unauthorized, "wallet_payment_source #{wallet_payment_source.id} does not belong to wallet of user #{user.id}"
62
62
  end
63
63
 
64
- wallet_payment_source.transaction do
64
+ # Do not update the payment source if the passed source is already default
65
+ if default_wallet_payment_source == wallet_payment_source
66
+ return
67
+ end
68
+
69
+ Spree::WalletPaymentSource.transaction do
65
70
  # Unset old default
66
71
  default_wallet_payment_source.try!(:update!, default: false)
67
72
  # Set new default
@@ -14,7 +14,8 @@ class MigrateCreditCardsToWalletPaymentSources < ActiveRecord::Migration[4.2]
14
14
  credit_cards.find_each do |credit_card|
15
15
  WalletPaymentSource.find_or_create_by!(
16
16
  user_id: credit_card.user_id,
17
- payment_source: credit_card
17
+ payment_source_id: credit_card.id,
18
+ payment_source_type: 'Spree::CreditCard'
18
19
  ) do |wallet_source|
19
20
  wallet_source.default = credit_card.default
20
21
  end
@@ -1,6 +1,6 @@
1
1
  module Spree
2
2
  def self.solidus_version
3
- "2.2.0"
3
+ "2.2.1"
4
4
  end
5
5
 
6
6
  def self.solidus_gem_version
@@ -78,20 +78,45 @@ describe Spree::Wallet, type: :model do
78
78
  to(wallet_credit_card)
79
79
  )
80
80
  end
81
+
82
+ context "assigning nil" do
83
+ it "remains unset" do
84
+ expect(subject.default_wallet_payment_source).to be_nil
85
+ subject.default_wallet_payment_source = nil
86
+ expect(subject.default_wallet_payment_source).to be_nil
87
+ end
88
+ end
81
89
  end
82
90
 
83
- context "with other payment source already default" do
91
+ context "with a default" do
84
92
  let!(:wallet_credit_card) { subject.add(credit_card) }
85
- let!(:wallet_store_credit) { subject.add(store_credit) }
86
93
 
87
94
  before { subject.default_wallet_payment_source = wallet_credit_card }
88
95
 
89
- it "sets the new payment source as the default" do
90
- expect { subject.default_wallet_payment_source = wallet_store_credit }.to(
91
- change(subject, :default_wallet_payment_source).
92
- from(wallet_credit_card).
93
- to(wallet_store_credit)
94
- )
96
+ context "assigning a new default" do
97
+ let!(:wallet_store_credit) { subject.add(store_credit) }
98
+
99
+ it "sets the new payment source as the default" do
100
+ expect {
101
+ subject.default_wallet_payment_source = wallet_store_credit
102
+ }.to change{ subject.default_wallet_payment_source }.from(wallet_credit_card).to(wallet_store_credit)
103
+ end
104
+ end
105
+
106
+ context "assigning same default" do
107
+ it "does not change the default payment source" do
108
+ expect {
109
+ subject.default_wallet_payment_source = wallet_credit_card
110
+ }.not_to change{ subject.default_wallet_payment_source }
111
+ end
112
+ end
113
+
114
+ context "assigning nil" do
115
+ it "clears the default payment source" do
116
+ expect {
117
+ subject.default_wallet_payment_source = nil
118
+ }.to change{ subject.default_wallet_payment_source }.to nil
119
+ end
95
120
  end
96
121
  end
97
122
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Solidus Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-01 00:00:00.000000000 Z
11
+ date: 2017-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant