solidus_frontend 2.10.0.beta1 → 2.10.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.

Potentially problematic release.


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

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 310fa3a7c2ffb353cad6a3c0079333d95c073943e0abc47fab729f5540adc33d
4
- data.tar.gz: 450b021d8e2016edcc7b0a0a219437077a41e9d0336cef670ddbf5ab1cdea3d6
3
+ metadata.gz: cf4a33ae63ea7b75b77ef676f7e2faf8af4785b3206d7f91749f454de16690e2
4
+ data.tar.gz: a67e00d14d14999acd5e4c6a89a050e4bff7a5086bad4f76fe345634d8a64cbe
5
5
  SHA512:
6
- metadata.gz: dd6a633f4cb60280996525a0baf5dfeb26de2a8b6b09ccd8764b3ae875a6f7ed1ce9042de398fe71e55f86b5e5a8fb7eec451e830d04f907409227651eeb23fa
7
- data.tar.gz: d58fb10140bcef216ae59b79ce1cb53237c7d8b19556dc5dc7cde72fa36d0bc7d37ad8815cc7b7c595145447f66f9d9cef5b0b6b23b8d3a84e39b71eb482f1b5
6
+ metadata.gz: 6474eb4097721563dd08ea496e8c05dea9300ebe54f5fe3e0f7c747c5880f07ce1f59585222e0bb74b1fe175d9ce09f7c5825faf3b89dd69699189d2fb2ca493
7
+ data.tar.gz: c02d5826a5a8b24dec3f415b38d3ddc428e12e400ac13502218e230514ebefb1748053b8b4395b0ba5384edd021d0f1abf4a7130ca5ca1bfda1533fe37d07c5c
@@ -963,8 +963,8 @@ p[data-hook="use_billing"] {
963
963
  }
964
964
 
965
965
  input[type="text"] {
966
- flex: 3 0;
967
- width: 100%;
966
+ flex: 1 auto;
967
+ width: 50%;
968
968
  margin-right: 5px;
969
969
  }
970
970
 
@@ -1268,7 +1268,7 @@ table.order-summary {
1268
1268
  // # Logo
1269
1269
  #logo {
1270
1270
  padding: 20px 0;
1271
-
1271
+
1272
1272
  > a {
1273
1273
  display: inline-block;
1274
1274
  }
@@ -137,6 +137,10 @@ module Spree
137
137
  redirect_to(spree.cart_path) && return unless @order
138
138
  end
139
139
 
140
+ # Allow the customer to only go back or stay on the current state
141
+ # when trying to change it via params[:state]. It's not allowed to
142
+ # jump forward and skip states (unless #skip_state_validation? is
143
+ # truthy).
140
144
  def set_state_if_present
141
145
  if params[:state]
142
146
  redirect_to checkout_state_path(@order.state) if @order.can_go_to_state?(params[:state]) && !skip_state_validation?
@@ -42,6 +42,10 @@ module Spree
42
42
  @order = current_order || Spree::Order.incomplete.find_or_initialize_by(guest_token: cookies.signed[:guest_token])
43
43
  authorize! :read, @order, cookies.signed[:guest_token]
44
44
  associate_user
45
+ if params[:id] && @order.number != params[:id]
46
+ flash[:error] = t('spree.cannot_edit_orders')
47
+ redirect_to cart_path
48
+ end
45
49
  end
46
50
 
47
51
  # Adds a new item to the order (creating a new order if none already exists)
@@ -59,8 +63,8 @@ module Spree
59
63
 
60
64
  begin
61
65
  @line_item = @order.contents.add(variant, quantity)
62
- rescue ActiveRecord::RecordInvalid => e
63
- @order.errors.add(:base, e.record.errors.full_messages.join(", "))
66
+ rescue ActiveRecord::RecordInvalid => error
67
+ @order.errors.add(:base, error.record.errors.full_messages.join(", "))
64
68
  end
65
69
 
66
70
  respond_with(@order) do |format|
@@ -24,6 +24,7 @@ module Solidus
24
24
  def copy_views
25
25
  views_to_copy.each do |file|
26
26
  next if File.directory?(file)
27
+
27
28
  dest_file = Pathname.new(file).relative_path_from(source_dir)
28
29
  copy_file file, Rails.root.join('app', 'views', 'spree', dest_file)
29
30
  end
@@ -33,8 +34,8 @@ module Solidus
33
34
 
34
35
  def views_to_copy
35
36
  if @options['only']
36
- VIEWS.select do |v|
37
- Pathname.new(v).relative_path_from(source_dir).to_s.include?(@options['only'])
37
+ VIEWS.select do |view|
38
+ Pathname.new(view).relative_path_from(source_dir).to_s.include?(@options['only'])
38
39
  end
39
40
  else
40
41
  VIEWS
@@ -38,11 +38,11 @@ module Spree
38
38
  end
39
39
 
40
40
  def build_query(params)
41
- params.map { |k, v|
42
- if v.class == Array
43
- build_query(v.map { |x| ["#{k}[]", x] })
41
+ params.map { |key, value|
42
+ if value.class == Array
43
+ build_query(value.map { |parameter| ["#{key}[]", parameter] })
44
44
  else
45
- k + "=" + Rack::Utils.escape(v)
45
+ key + "=" + Rack::Utils.escape(value)
46
46
  end
47
47
  }.join("&")
48
48
  end
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.require_path = 'lib'
19
19
  s.requirements << 'none'
20
20
 
21
- s.required_ruby_version = '>= 2.2.2'
21
+ s.required_ruby_version = '>= 2.4.0'
22
22
  s.required_rubygems_version = '>= 1.8.23'
23
23
 
24
24
  s.add_dependency 'solidus_api', s.version
@@ -102,6 +102,31 @@ describe Spree::OrdersController, type: :controller do
102
102
  end
103
103
  end
104
104
 
105
+ context '#edit' do
106
+ before do
107
+ allow(controller).to receive :authorize!
108
+ allow(controller).to receive_messages current_order: order
109
+ end
110
+
111
+ it 'should render cart' do
112
+ get :edit, params: { id: order.number }
113
+
114
+ expect(flash[:error]).to be_nil
115
+ expect(response).to be_ok
116
+ end
117
+
118
+ context 'with another order number than the current_order' do
119
+ let(:other_order) { create(:completed_order_with_totals) }
120
+
121
+ it 'should display error message' do
122
+ get :edit, params: { id: other_order.number }
123
+
124
+ expect(flash[:error]).to eq "You may only edit your current shopping cart."
125
+ expect(response).to redirect_to cart_path
126
+ end
127
+ end
128
+ end
129
+
105
130
  context "#update" do
106
131
  context "with authorization" do
107
132
  before do
@@ -672,6 +672,57 @@ describe "Checkout", type: :feature, inaccessible: true do
672
672
  end
673
673
  end
674
674
 
675
+ # Regression test for: https://github.com/solidusio/solidus/issues/2998
676
+ context 'when two shipping categories are available' do
677
+ let!(:first_category) { create(:shipping_category) }
678
+ let!(:second_category) { create(:shipping_category) }
679
+
680
+ let!(:first_shipping_method) do
681
+ create(:shipping_method,
682
+ shipping_categories: [first_category],
683
+ stores: [store])
684
+ end
685
+
686
+ let!(:second_shipping_method) do
687
+ create(:shipping_method,
688
+ shipping_categories: [second_category],
689
+ stores: [store])
690
+ end
691
+
692
+ context 'assigned to two different products' do
693
+ let!(:first_product) do
694
+ create(:product,
695
+ name: 'First product',
696
+ shipping_category: first_category)
697
+ end
698
+
699
+ let!(:second_product) do
700
+ create(:product,
701
+ name: 'Second product',
702
+ shipping_category: second_category)
703
+ end
704
+
705
+ before do
706
+ stock_location.stock_items.update_all(count_on_hand: 10)
707
+ end
708
+
709
+ it 'transitions successfully to the delivery step', js: true do
710
+ visit spree.product_path(first_product)
711
+ click_button 'add-to-cart-button'
712
+ visit spree.product_path(second_product)
713
+ click_button 'add-to-cart-button'
714
+
715
+ click_button 'Checkout'
716
+
717
+ fill_in_address
718
+ fill_in 'order_email', with: 'test@example.com'
719
+ click_button 'Save and Continue'
720
+
721
+ expect(Spree::Order.last.state).to eq('delivery')
722
+ end
723
+ end
724
+ end
725
+
675
726
  def fill_in_credit_card(number: "4111 1111 1111 1111")
676
727
  fill_in "Name on card", with: 'Mary Doe'
677
728
  fill_in_with_force "Card Number", with: number
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_frontend
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.10.0.beta1
4
+ version: 2.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Solidus Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-19 00:00:00.000000000 Z
11
+ date: 2020-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: solidus_api
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 2.10.0.beta1
19
+ version: 2.10.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 2.10.0.beta1
26
+ version: 2.10.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: solidus_core
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 2.10.0.beta1
33
+ version: 2.10.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 2.10.0.beta1
40
+ version: 2.10.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: canonical-rails
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -339,7 +339,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
339
339
  requirements:
340
340
  - - ">="
341
341
  - !ruby/object:Gem::Version
342
- version: 2.2.2
342
+ version: 2.4.0
343
343
  required_rubygems_version: !ruby/object:Gem::Requirement
344
344
  requirements:
345
345
  - - ">="
@@ -347,7 +347,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
347
347
  version: 1.8.23
348
348
  requirements:
349
349
  - none
350
- rubygems_version: 3.0.6
350
+ rubygems_version: 3.0.3
351
351
  signing_key:
352
352
  specification_version: 4
353
353
  summary: Cart and storefront for the Solidus e-commerce project.