solidus_core 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.

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