spree_core 3.1.0 → 3.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/spree/order.rb +2 -2
- data/app/models/spree/shipment.rb +1 -1
- data/config/locales/en.yml +0 -4
- data/lib/spree/core/version.rb +1 -1
- data/spec/lib/spree/core/importer/order_spec.rb +1 -1
- data/spec/models/spree/asset_spec.rb +8 -5
- data/spec/models/spree/order/store_credit_spec.rb +3 -0
- data/spec/models/spree/order_spec.rb +4 -4
- data/spec/models/spree/product_spec.rb +15 -16
- data/spec/models/spree/store_credit_spec.rb +4 -4
- data/spec/models/spree/user_spec.rb +10 -4
- data/spree_core.gemspec +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92d2afeeba8bb057bcc78631c40187c1a5e77670
|
4
|
+
data.tar.gz: 80cbb5297dc213e88e6e6a77d159a1ef6c5bea9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 062f9429e4900f53a5f5925a29188ecdd56a63820f84fdbe43454a83393011c8e144b7e6349732a21cef8cf6fc02de2a94a7dc5b52eef0ddc78fb20aa4653404
|
7
|
+
data.tar.gz: ace59dff074f95170b53c700edf77f15313e9b52eb42666f656fe0acdc99dff915b79f4330df4e6783326de0fce2d71def5e1bd2df26b4923cbf7c841b5930ec
|
data/app/models/spree/order.rb
CHANGED
@@ -417,8 +417,8 @@ module Spree
|
|
417
417
|
# If so add error and restart checkout.
|
418
418
|
def ensure_line_item_variants_are_not_discontinued
|
419
419
|
if line_items.any?{ |li| !li.variant || li.variant.discontinued? }
|
420
|
-
errors.add(:base, Spree.t(:discontinued_variants_present))
|
421
420
|
restart_checkout_flow
|
421
|
+
errors.add(:base, Spree.t(:discontinued_variants_present))
|
422
422
|
false
|
423
423
|
else
|
424
424
|
true
|
@@ -427,8 +427,8 @@ module Spree
|
|
427
427
|
|
428
428
|
def ensure_line_items_are_in_stock
|
429
429
|
if insufficient_stock_lines.present?
|
430
|
-
errors.add(:base, Spree.t(:insufficient_stock_lines_present))
|
431
430
|
restart_checkout_flow
|
431
|
+
errors.add(:base, Spree.t(:insufficient_stock_lines_present))
|
432
432
|
false
|
433
433
|
else
|
434
434
|
true
|
@@ -17,9 +17,9 @@ module Spree
|
|
17
17
|
has_many :adjustments, as: :adjustable
|
18
18
|
has_many :inventory_units, inverse_of: :shipment
|
19
19
|
has_many :shipping_rates, -> { order(:cost) }
|
20
|
+
has_many :state_changes, as: :stateful
|
20
21
|
end
|
21
22
|
has_many :shipping_methods, through: :shipping_rates
|
22
|
-
has_many :state_changes, as: :stateful
|
23
23
|
|
24
24
|
after_save :update_adjustments
|
25
25
|
|
data/config/locales/en.yml
CHANGED
@@ -350,10 +350,6 @@ en:
|
|
350
350
|
attributes:
|
351
351
|
base:
|
352
352
|
cannot_destroy_if_attached_to_line_items: Cannot delete variants once they are attached to line items.
|
353
|
-
spree/shipping_method:
|
354
|
-
attributes:
|
355
|
-
base:
|
356
|
-
cannot_destroy_if_attached_to_line_items: Cannot delete variants once they are attached to line items.
|
357
353
|
|
358
354
|
devise:
|
359
355
|
confirmations:
|
data/lib/spree/core/version.rb
CHANGED
@@ -588,7 +588,7 @@ module Spree
|
|
588
588
|
]
|
589
589
|
}
|
590
590
|
order = Importer::Order.import(user, params)
|
591
|
-
expect(order.payments.first.created_at).to be_within(
|
591
|
+
expect(order.payments.first.created_at).to be_within(1).of created_at
|
592
592
|
end
|
593
593
|
|
594
594
|
context "raises error" do
|
@@ -3,12 +3,15 @@ require 'spec_helper'
|
|
3
3
|
describe Spree::Asset, :type => :model do
|
4
4
|
describe "#viewable" do
|
5
5
|
it "touches association" do
|
6
|
-
|
7
|
-
asset = Spree::Asset.create! { |a| a.viewable = product.master }
|
6
|
+
Timecop.scale(3600) do
|
8
7
|
|
9
|
-
|
10
|
-
asset.
|
11
|
-
|
8
|
+
product = create(:custom_product)
|
9
|
+
asset = Spree::Asset.create! { |a| a.viewable = product.master }
|
10
|
+
|
11
|
+
expect do
|
12
|
+
asset.touch
|
13
|
+
end.to change { product.reload.updated_at }
|
14
|
+
end
|
12
15
|
end
|
13
16
|
end
|
14
17
|
|
@@ -96,10 +96,13 @@ describe 'Order' do
|
|
96
96
|
let(:order) { create(:order, user: primary_store_credit.user, total: order_total) }
|
97
97
|
|
98
98
|
before do
|
99
|
+
Timecop.scale(3600)
|
99
100
|
subject
|
100
101
|
order.reload
|
101
102
|
end
|
102
103
|
|
104
|
+
after { Timecop.return }
|
105
|
+
|
103
106
|
it 'uses the primary store credit type over the secondary' do
|
104
107
|
primary_payment = order.payments.first
|
105
108
|
secondary_payment = order.payments.last
|
@@ -238,7 +238,6 @@ describe Spree::Order, :type => :model do
|
|
238
238
|
|
239
239
|
context 'when variant is destroyed' do
|
240
240
|
before do
|
241
|
-
allow(order).to receive(:restart_checkout_flow)
|
242
241
|
order.line_items.first.variant.discontinue!
|
243
242
|
end
|
244
243
|
|
@@ -272,14 +271,14 @@ describe Spree::Order, :type => :model do
|
|
272
271
|
describe '#ensure_line_items_are_in_stock' do
|
273
272
|
subject { order.ensure_line_items_are_in_stock }
|
274
273
|
|
275
|
-
let(:line_item) {
|
274
|
+
let(:line_item) { create(:line_item, order: order) }
|
276
275
|
|
277
276
|
before do
|
278
|
-
allow(order).to receive(:
|
279
|
-
allow(order).to receive_messages(:line_items => [line_item])
|
277
|
+
allow(order).to receive(:insufficient_stock_lines).and_return([true])
|
280
278
|
end
|
281
279
|
|
282
280
|
it 'should restart checkout flow' do
|
281
|
+
allow(order).to receive(:restart_checkout_flow)
|
283
282
|
expect(order).to receive(:restart_checkout_flow).once
|
284
283
|
subject
|
285
284
|
end
|
@@ -290,6 +289,7 @@ describe Spree::Order, :type => :model do
|
|
290
289
|
end
|
291
290
|
|
292
291
|
it 'should be false' do
|
292
|
+
allow(order).to receive(:restart_checkout_flow)
|
293
293
|
expect(subject).to be_falsey
|
294
294
|
end
|
295
295
|
end
|
@@ -21,6 +21,21 @@ describe Spree::Product, :type => :model do
|
|
21
21
|
is_expected.to have_many(:possible_promotions).
|
22
22
|
class_name('Spree::Promotion').through(:promotion_rules).source(:promotion)
|
23
23
|
end
|
24
|
+
|
25
|
+
it do
|
26
|
+
is_expected.to have_many(:variants).
|
27
|
+
class_name('Spree::Variant').
|
28
|
+
inverse_of(:product).
|
29
|
+
conditions(is_master: false).
|
30
|
+
order(:position)
|
31
|
+
end
|
32
|
+
|
33
|
+
it do
|
34
|
+
is_expected.to have_many(:variants_including_master).
|
35
|
+
class_name('Spree::Variant').
|
36
|
+
inverse_of(:product).
|
37
|
+
order(:position)
|
38
|
+
end
|
24
39
|
end
|
25
40
|
|
26
41
|
context 'product instance' do
|
@@ -182,22 +197,6 @@ describe Spree::Product, :type => :model do
|
|
182
197
|
end
|
183
198
|
end
|
184
199
|
|
185
|
-
describe 'Variants sorting' do
|
186
|
-
ORDER_REGEXP = /ORDER BY (\`|\")spree_variants(\`|\").(\'|\")position(\'|\") ASC/
|
187
|
-
|
188
|
-
context 'without master variant' do
|
189
|
-
it 'sorts variants by position' do
|
190
|
-
expect(product.variants.to_sql).to match(ORDER_REGEXP)
|
191
|
-
end
|
192
|
-
end
|
193
|
-
|
194
|
-
context 'with master variant' do
|
195
|
-
it 'sorts variants by position' do
|
196
|
-
expect(product.variants_including_master.to_sql).to match(ORDER_REGEXP)
|
197
|
-
end
|
198
|
-
end
|
199
|
-
end
|
200
|
-
|
201
200
|
context "has stock movements" do
|
202
201
|
let(:variant) { product.master }
|
203
202
|
let(:stock_item) { variant.stock_items.first }
|
@@ -180,7 +180,7 @@ describe 'StoreCredit' do
|
|
180
180
|
end
|
181
181
|
|
182
182
|
context 'originator is present' do
|
183
|
-
with_model 'OriginatorThing'
|
183
|
+
with_model 'OriginatorThing', scope: :all
|
184
184
|
|
185
185
|
let(:originator) { OriginatorThing.create! } # won't actually be a user. just giving it a valid model here
|
186
186
|
|
@@ -335,7 +335,7 @@ describe 'StoreCredit' do
|
|
335
335
|
end
|
336
336
|
|
337
337
|
context 'originator is present' do
|
338
|
-
with_model 'OriginatorThing'
|
338
|
+
with_model 'OriginatorThing', scope: :all
|
339
339
|
|
340
340
|
let(:originator) { OriginatorThing.create! } # won't actually be a user. just giving it a valid model here
|
341
341
|
|
@@ -407,7 +407,7 @@ describe 'StoreCredit' do
|
|
407
407
|
end
|
408
408
|
|
409
409
|
context 'originator is present' do
|
410
|
-
with_model 'OriginatorThing'
|
410
|
+
with_model 'OriginatorThing', scope: :all
|
411
411
|
|
412
412
|
let(:originator) { OriginatorThing.create! } # won't actually be a user. just giving it a valid model here
|
413
413
|
|
@@ -534,7 +534,7 @@ describe 'StoreCredit' do
|
|
534
534
|
end
|
535
535
|
|
536
536
|
context 'originator is present' do
|
537
|
-
with_model 'OriginatorThing'
|
537
|
+
with_model 'OriginatorThing', scope: :all
|
538
538
|
|
539
539
|
let(:originator) { OriginatorThing.create! } # won't actually be a user. just giving it a valid model here
|
540
540
|
|
@@ -6,12 +6,18 @@ describe Spree::LegacyUser, type: :model do
|
|
6
6
|
let!(:user) { create(:user) }
|
7
7
|
let!(:order) { create(:order, bill_address: create(:address), ship_address: create(:address)) }
|
8
8
|
|
9
|
-
let
|
10
|
-
let
|
11
|
-
let
|
9
|
+
let(:order_1) { create(:order, created_at: 1.day.ago, user: user, created_by: user) }
|
10
|
+
let(:order_2) { create(:order, user: user, created_by: user) }
|
11
|
+
let(:order_3) { create(:order, user: user, created_by: create(:user)) }
|
12
12
|
|
13
13
|
it 'returns correct order' do
|
14
|
-
|
14
|
+
Timecop.scale(3600) do
|
15
|
+
order_1
|
16
|
+
order_2
|
17
|
+
order_3
|
18
|
+
|
19
|
+
expect(user.last_incomplete_spree_order).to eq order_3
|
20
|
+
end
|
15
21
|
end
|
16
22
|
|
17
23
|
context 'persists order address' do
|
data/spree_core.gemspec
CHANGED
@@ -34,7 +34,7 @@ Gem::Specification.new do |s|
|
|
34
34
|
s.add_dependency 'paperclip', '~> 4.3.0'
|
35
35
|
s.add_dependency 'paranoia', '~> 2.1.0'
|
36
36
|
s.add_dependency 'premailer-rails'
|
37
|
-
s.add_dependency 'rails', '~> 4.2.
|
37
|
+
s.add_dependency 'rails', '~> 4.2.7.1'
|
38
38
|
s.add_dependency 'ransack', '~> 1.4.1'
|
39
39
|
s.add_dependency 'responders'
|
40
40
|
s.add_dependency 'state_machines-activerecord', '~> 0.2'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Schofield
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemerchant
|
@@ -226,14 +226,14 @@ dependencies:
|
|
226
226
|
requirements:
|
227
227
|
- - "~>"
|
228
228
|
- !ruby/object:Gem::Version
|
229
|
-
version: 4.2.
|
229
|
+
version: 4.2.7.1
|
230
230
|
type: :runtime
|
231
231
|
prerelease: false
|
232
232
|
version_requirements: !ruby/object:Gem::Requirement
|
233
233
|
requirements:
|
234
234
|
- - "~>"
|
235
235
|
- !ruby/object:Gem::Version
|
236
|
-
version: 4.2.
|
236
|
+
version: 4.2.7.1
|
237
237
|
- !ruby/object:Gem::Dependency
|
238
238
|
name: ransack
|
239
239
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1163,7 +1163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1163
1163
|
version: 1.8.23
|
1164
1164
|
requirements: []
|
1165
1165
|
rubyforge_project:
|
1166
|
-
rubygems_version: 2.
|
1166
|
+
rubygems_version: 2.5.1
|
1167
1167
|
signing_key:
|
1168
1168
|
specification_version: 4
|
1169
1169
|
summary: The bare bones necessary for Spree.
|