spree_core 3.1.0 → 3.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f35feac4376cd13546d618115a69843e88fc1cd5
4
- data.tar.gz: 4c8e8813de79c6000a63d75fba52a2e3c446474b
3
+ metadata.gz: 92d2afeeba8bb057bcc78631c40187c1a5e77670
4
+ data.tar.gz: 80cbb5297dc213e88e6e6a77d159a1ef6c5bea9a
5
5
  SHA512:
6
- metadata.gz: 2681d8f8676b8d42aabdca0ee04058a36375a3407d2321173b5aa72faee19ae644b0e32b2a4df917adb26c40986c1125fa50801222d7ca14a1ff09c0143d1fc5
7
- data.tar.gz: 1223897e7344f28e241967b864994bc4958056d0faa40b1ac430cfc8b18a31be28ef3ee1cad0314a4446e5ca0ccdc80b687c05066a92edbfc4922d9ddb36970f
6
+ metadata.gz: 062f9429e4900f53a5f5925a29188ecdd56a63820f84fdbe43454a83393011c8e144b7e6349732a21cef8cf6fc02de2a94a7dc5b52eef0ddc78fb20aa4653404
7
+ data.tar.gz: ace59dff074f95170b53c700edf77f15313e9b52eb42666f656fe0acdc99dff915b79f4330df4e6783326de0fce2d71def5e1bd2df26b4923cbf7c841b5930ec
@@ -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
 
@@ -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:
@@ -1,5 +1,5 @@
1
1
  module Spree
2
2
  def self.version
3
- "3.1.0"
3
+ "3.1.1"
4
4
  end
5
5
  end
@@ -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(0.1).of created_at
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
- product = create(:custom_product)
7
- asset = Spree::Asset.create! { |a| a.viewable = product.master }
6
+ Timecop.scale(3600) do
8
7
 
9
- expect do
10
- asset.touch
11
- end.to change { product.reload.updated_at }
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) { mock_model Spree::LineItem, :insufficient_stock? => true }
274
+ let(:line_item) { create(:line_item, order: order) }
276
275
 
277
276
  before do
278
- allow(order).to receive(:restart_checkout_flow)
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!(: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)) }
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
- expect(user.last_incomplete_spree_order).to eq order_3
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.6'
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.0
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-06-15 00:00:00.000000000 Z
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.6
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.6
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.4.8
1166
+ rubygems_version: 2.5.1
1167
1167
  signing_key:
1168
1168
  specification_version: 4
1169
1169
  summary: The bare bones necessary for Spree.