solidus_frontend 2.9.6 → 2.10.3
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 +4 -4
- data/app/assets/stylesheets/spree/frontend/screen.css.scss +3 -3
- data/app/controllers/spree/checkout_controller.rb +4 -0
- data/app/controllers/spree/orders_controller.rb +6 -2
- data/lib/generators/solidus/views/override_generator.rb +3 -2
- data/lib/spree/frontend/config.rb +9 -0
- data/lib/spree/frontend/engine.rb +5 -3
- data/lib/spree/frontend/middleware/seo_assist.rb +4 -4
- data/{app/models → lib}/spree/frontend_configuration.rb +1 -1
- data/solidus_frontend.gemspec +2 -1
- data/spec/controllers/spree/checkout_controller_spec.rb +7 -7
- data/spec/controllers/spree/orders_controller_ability_spec.rb +1 -1
- data/spec/controllers/spree/orders_controller_spec.rb +27 -2
- data/spec/features/checkout_spec.rb +51 -0
- data/spec/features/products_spec.rb +4 -4
- data/spec/features/taxons_spec.rb +4 -4
- metadata +27 -12
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 91b81a0499cfcc80c2679550b7d6db2ad71924487a5d46dbac789addd97edfda
         | 
| 4 | 
            +
              data.tar.gz: a50ea281edb618f5ccc671bca43341e403e6e550aa7d0875a0b581ab663ddc32
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 53f459be7840d780e768a38a3ddc1355246cdf421fe0c28a0f2e9172ef0327d47266f43fa58a0aeea1595603d8f83da9b061e41706c20e48f256e90f38e5ff59
         | 
| 7 | 
            +
              data.tar.gz: 781d5b3e99617412f0f3eb7e8871c68c47d94d05fb26d689c961cc8e4414e340e14362ec4bd19f3c546184c81c79c9249784e2988954bca79ecf7f498b1dbddf
         | 
| @@ -963,8 +963,8 @@ p[data-hook="use_billing"] { | |
| 963 963 | 
             
              }
         | 
| 964 964 |  | 
| 965 965 | 
             
              input[type="text"] {
         | 
| 966 | 
            -
                flex:  | 
| 967 | 
            -
                width:  | 
| 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 | 
             
              }
         | 
| @@ -149,6 +149,10 @@ module Spree | |
| 149 149 | 
             
                  redirect_to(spree.cart_path) && return unless @order
         | 
| 150 150 | 
             
                end
         | 
| 151 151 |  | 
| 152 | 
            +
                # Allow the customer to only go back or stay on the current state
         | 
| 153 | 
            +
                # when trying to change it via params[:state]. It's not allowed to
         | 
| 154 | 
            +
                # jump forward and skip states (unless #skip_state_validation? is
         | 
| 155 | 
            +
                # truthy).
         | 
| 152 156 | 
             
                def set_state_if_present
         | 
| 153 157 | 
             
                  if params[:state]
         | 
| 154 158 | 
             
                    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 =>  | 
| 63 | 
            -
                    @order.errors.add(:base,  | 
| 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 | | 
| 37 | 
            -
                        Pathname.new( | 
| 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
         | 
| @@ -1,13 +1,15 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 | 
            +
            require 'spree/frontend/config'
         | 
| 4 | 
            +
             | 
| 3 5 | 
             
            module Spree
         | 
| 4 6 | 
             
              module Frontend
         | 
| 5 7 | 
             
                class Engine < ::Rails::Engine
         | 
| 6 8 | 
             
                  config.middleware.use "Spree::Frontend::Middleware::SeoAssist"
         | 
| 7 9 |  | 
| 8 | 
            -
                  initializer  | 
| 9 | 
            -
             | 
| 10 | 
            -
                  end
         | 
| 10 | 
            +
                  # Leave initializer empty for backwards-compatability. Other apps
         | 
| 11 | 
            +
                  # might still rely on this event.
         | 
| 12 | 
            +
                  initializer "spree.frontend.environment", before: :load_config_initializers do; end
         | 
| 11 13 | 
             
                end
         | 
| 12 14 | 
             
              end
         | 
| 13 15 | 
             
            end
         | 
| @@ -38,11 +38,11 @@ module Spree | |
| 38 38 | 
             
                    end
         | 
| 39 39 |  | 
| 40 40 | 
             
                    def build_query(params)
         | 
| 41 | 
            -
                      params.map { | | 
| 42 | 
            -
                        if  | 
| 43 | 
            -
                          build_query( | 
| 41 | 
            +
                      params.map { |key, value|
         | 
| 42 | 
            +
                        if value.class == Array
         | 
| 43 | 
            +
                          build_query(value.map { |parameter| ["#{key}[]", parameter] })
         | 
| 44 44 | 
             
                        else
         | 
| 45 | 
            -
                           | 
| 45 | 
            +
                          key + "=" + Rack::Utils.escape(value)
         | 
| 46 46 | 
             
                        end
         | 
| 47 47 | 
             
                      }.join("&")
         | 
| 48 48 | 
             
                    end
         | 
| @@ -2,7 +2,7 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            module Spree
         | 
| 4 4 | 
             
              class FrontendConfiguration < Preferences::Configuration
         | 
| 5 | 
            -
                preference :locale, :string, default:  | 
| 5 | 
            +
                preference :locale, :string, default: I18n.default_locale
         | 
| 6 6 |  | 
| 7 7 | 
             
                # Add your terms and conditions in app/views/spree/checkout/_terms_and_conditions.en.html.erb
         | 
| 8 8 | 
             
                preference :require_terms_and_conditions_acceptance, :boolean, default: false
         | 
    
        data/solidus_frontend.gemspec
    CHANGED
    
    | @@ -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. | 
| 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
         | 
| @@ -28,6 +28,7 @@ Gem::Specification.new do |s| | |
| 28 28 | 
             
              s.add_dependency 'font-awesome-rails', '~> 4.0'
         | 
| 29 29 | 
             
              s.add_dependency 'jquery-rails'
         | 
| 30 30 | 
             
              s.add_dependency 'kaminari', '~> 1.1'
         | 
| 31 | 
            +
              s.add_dependency 'responders'
         | 
| 31 32 | 
             
              s.add_dependency 'sassc-rails'
         | 
| 32 33 | 
             
              s.add_dependency 'truncate_html', '~> 0.9', '>= 0.9.2'
         | 
| 33 34 |  | 
| @@ -91,7 +91,7 @@ describe Spree::CheckoutController, type: :controller do | |
| 91 91 |  | 
| 92 92 | 
             
                  context "with the order in the cart state", partial_double_verification: false do
         | 
| 93 93 | 
             
                    before do
         | 
| 94 | 
            -
                      order. | 
| 94 | 
            +
                      order.update! user: user
         | 
| 95 95 | 
             
                      order.update_column(:state, "cart")
         | 
| 96 96 | 
             
                    end
         | 
| 97 97 |  | 
| @@ -140,7 +140,7 @@ describe Spree::CheckoutController, type: :controller do | |
| 140 140 |  | 
| 141 141 | 
             
                  context "with the order in the address state", partial_double_verification: false do
         | 
| 142 142 | 
             
                    before do
         | 
| 143 | 
            -
                      order. | 
| 143 | 
            +
                      order.update! user: user
         | 
| 144 144 | 
             
                      order.update_columns(ship_address_id: create(:address).id, state: "address")
         | 
| 145 145 | 
             
                    end
         | 
| 146 146 |  | 
| @@ -213,7 +213,7 @@ describe Spree::CheckoutController, type: :controller do | |
| 213 213 | 
             
                    end
         | 
| 214 214 |  | 
| 215 215 | 
             
                    before do
         | 
| 216 | 
            -
                      order. | 
| 216 | 
            +
                      order.update! user: user
         | 
| 217 217 | 
             
                      3.times { order.next! } # should put us in the payment state
         | 
| 218 218 | 
             
                    end
         | 
| 219 219 |  | 
| @@ -245,7 +245,7 @@ describe Spree::CheckoutController, type: :controller do | |
| 245 245 | 
             
                    end
         | 
| 246 246 |  | 
| 247 247 | 
             
                    before do
         | 
| 248 | 
            -
                      order. | 
| 248 | 
            +
                      order.update! user: user
         | 
| 249 249 | 
             
                      3.times { order.next! } # should put us in the payment state
         | 
| 250 250 | 
             
                    end
         | 
| 251 251 |  | 
| @@ -300,7 +300,7 @@ describe Spree::CheckoutController, type: :controller do | |
| 300 300 |  | 
| 301 301 | 
             
                  context "when in the confirm state" do
         | 
| 302 302 | 
             
                    before do
         | 
| 303 | 
            -
                      order. | 
| 303 | 
            +
                      order.update! user: user
         | 
| 304 304 | 
             
                      order.update_column(:state, "confirm")
         | 
| 305 305 | 
             
                      # An order requires a payment to reach the complete state
         | 
| 306 306 | 
             
                      # This is because payment_required? is true on the order
         | 
| @@ -330,7 +330,7 @@ describe Spree::CheckoutController, type: :controller do | |
| 330 330 |  | 
| 331 331 | 
             
                context "save unsuccessful" do
         | 
| 332 332 | 
             
                  before do
         | 
| 333 | 
            -
                    order. | 
| 333 | 
            +
                    order.update! user: user
         | 
| 334 334 | 
             
                    allow(order).to receive_messages valid?: false
         | 
| 335 335 | 
             
                  end
         | 
| 336 336 |  | 
| @@ -367,7 +367,7 @@ describe Spree::CheckoutController, type: :controller do | |
| 367 367 |  | 
| 368 368 | 
             
                context "Spree::Core::GatewayError" do
         | 
| 369 369 | 
             
                  before do
         | 
| 370 | 
            -
                    order. | 
| 370 | 
            +
                    order.update! user: user
         | 
| 371 371 | 
             
                    allow(order).to receive(:next).and_raise(Spree::Core::GatewayError.new("Invalid something or other."))
         | 
| 372 372 | 
             
                    post :update, params: { state: "address", order: { bill_address_attributes: address_params } }
         | 
| 373 373 | 
             
                  end
         | 
| @@ -37,7 +37,7 @@ module Spree | |
| 37 37 |  | 
| 38 38 | 
             
                  context '#update' do
         | 
| 39 39 | 
             
                    it 'should check if user is authorized for :update' do
         | 
| 40 | 
            -
                      allow(order).to receive : | 
| 40 | 
            +
                      allow(order).to receive :update
         | 
| 41 41 | 
             
                      expect(controller).to receive(:authorize!).with(:update, order, token)
         | 
| 42 42 | 
             
                      post :update, params: { order: { email: "foo@bar.com" }, token: token }
         | 
| 43 43 | 
             
                    end
         | 
| @@ -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
         | 
| @@ -117,13 +142,13 @@ describe Spree::OrdersController, type: :controller do | |
| 117 142 | 
             
                    end
         | 
| 118 143 |  | 
| 119 144 | 
             
                    it "should redirect to cart path (on success)" do
         | 
| 120 | 
            -
                      allow(order).to receive(: | 
| 145 | 
            +
                      allow(order).to receive(:update).and_return true
         | 
| 121 146 | 
             
                      put :update
         | 
| 122 147 | 
             
                      expect(response).to redirect_to(spree.cart_path)
         | 
| 123 148 | 
             
                    end
         | 
| 124 149 |  | 
| 125 150 | 
             
                    it "should advance the order if :checkout button is pressed" do
         | 
| 126 | 
            -
                      allow(order).to receive(: | 
| 151 | 
            +
                      allow(order).to receive(:update).and_return true
         | 
| 127 152 | 
             
                      expect(order).to receive(:next)
         | 
| 128 153 | 
             
                      put :update, params: { checkout: true }
         | 
| 129 154 | 
             
                      expect(response).to redirect_to checkout_state_path('address')
         | 
| @@ -680,6 +680,57 @@ describe "Checkout", type: :feature, inaccessible: true do | |
| 680 680 | 
             
                end
         | 
| 681 681 | 
             
              end
         | 
| 682 682 |  | 
| 683 | 
            +
              # Regression test for: https://github.com/solidusio/solidus/issues/2998
         | 
| 684 | 
            +
              context 'when two shipping categories are available' do
         | 
| 685 | 
            +
                let!(:first_category) { create(:shipping_category) }
         | 
| 686 | 
            +
                let!(:second_category) { create(:shipping_category) }
         | 
| 687 | 
            +
             | 
| 688 | 
            +
                let!(:first_shipping_method) do
         | 
| 689 | 
            +
                  create(:shipping_method,
         | 
| 690 | 
            +
                         shipping_categories: [first_category],
         | 
| 691 | 
            +
                         stores: [store])
         | 
| 692 | 
            +
                end
         | 
| 693 | 
            +
             | 
| 694 | 
            +
                let!(:second_shipping_method) do
         | 
| 695 | 
            +
                  create(:shipping_method,
         | 
| 696 | 
            +
                         shipping_categories: [second_category],
         | 
| 697 | 
            +
                         stores: [store])
         | 
| 698 | 
            +
                end
         | 
| 699 | 
            +
             | 
| 700 | 
            +
                context 'assigned to two different products' do
         | 
| 701 | 
            +
                  let!(:first_product) do
         | 
| 702 | 
            +
                    create(:product,
         | 
| 703 | 
            +
                           name: 'First product',
         | 
| 704 | 
            +
                           shipping_category: first_category)
         | 
| 705 | 
            +
                  end
         | 
| 706 | 
            +
             | 
| 707 | 
            +
                  let!(:second_product) do
         | 
| 708 | 
            +
                    create(:product,
         | 
| 709 | 
            +
                           name: 'Second product',
         | 
| 710 | 
            +
                           shipping_category: second_category)
         | 
| 711 | 
            +
                  end
         | 
| 712 | 
            +
             | 
| 713 | 
            +
                  before do
         | 
| 714 | 
            +
                    stock_location.stock_items.update_all(count_on_hand: 10)
         | 
| 715 | 
            +
                  end
         | 
| 716 | 
            +
             | 
| 717 | 
            +
                  it 'transitions successfully to the delivery step', js: true do
         | 
| 718 | 
            +
                    visit spree.product_path(first_product)
         | 
| 719 | 
            +
                    click_button 'add-to-cart-button'
         | 
| 720 | 
            +
                    visit spree.product_path(second_product)
         | 
| 721 | 
            +
                    click_button 'add-to-cart-button'
         | 
| 722 | 
            +
             | 
| 723 | 
            +
                    click_button 'Checkout'
         | 
| 724 | 
            +
             | 
| 725 | 
            +
                    fill_in_address
         | 
| 726 | 
            +
                    fill_in 'order_email', with: 'test@example.com'
         | 
| 727 | 
            +
                    click_button 'Save and Continue'
         | 
| 728 | 
            +
             | 
| 729 | 
            +
                    expect(Spree::Order.last.state).to eq('delivery')
         | 
| 730 | 
            +
                  end
         | 
| 731 | 
            +
                end
         | 
| 732 | 
            +
              end
         | 
| 733 | 
            +
             | 
| 683 734 | 
             
              def fill_in_credit_card(number: "4111 1111 1111 1111")
         | 
| 684 735 | 
             
                fill_in "Name on card", with: 'Mary Doe'
         | 
| 685 736 | 
             
                fill_in_with_force "Card Number", with: number
         | 
| @@ -51,20 +51,20 @@ describe "Visiting Products", type: :feature, inaccessible: true do | |
| 51 51 | 
             
                end
         | 
| 52 52 |  | 
| 53 53 | 
             
                it 'displays metas' do
         | 
| 54 | 
            -
                  jersey. | 
| 54 | 
            +
                  jersey.update metas
         | 
| 55 55 | 
             
                  click_link jersey.name
         | 
| 56 56 | 
             
                  expect(page).to have_meta(:description, 'Brand new Ruby on Rails Jersey')
         | 
| 57 57 | 
             
                  expect(page).to have_meta(:keywords, 'ror, jersey, ruby')
         | 
| 58 58 | 
             
                end
         | 
| 59 59 |  | 
| 60 60 | 
             
                it 'displays title if set' do
         | 
| 61 | 
            -
                  jersey. | 
| 61 | 
            +
                  jersey.update metas
         | 
| 62 62 | 
             
                  click_link jersey.name
         | 
| 63 63 | 
             
                  expect(page).to have_title('Ruby on Rails Baseball Jersey Buy High Quality Geek Apparel')
         | 
| 64 64 | 
             
                end
         | 
| 65 65 |  | 
| 66 66 | 
             
                it "doesn't use meta_title as heading on page" do
         | 
| 67 | 
            -
                  jersey. | 
| 67 | 
            +
                  jersey.update metas
         | 
| 68 68 | 
             
                  click_link jersey.name
         | 
| 69 69 | 
             
                  within("h1") do
         | 
| 70 70 | 
             
                    expect(page).to have_content(jersey.name)
         | 
| @@ -73,7 +73,7 @@ describe "Visiting Products", type: :feature, inaccessible: true do | |
| 73 73 | 
             
                end
         | 
| 74 74 |  | 
| 75 75 | 
             
                it 'uses product name in title when meta_title set to empty string' do
         | 
| 76 | 
            -
                  jersey. | 
| 76 | 
            +
                  jersey.update meta_title: ''
         | 
| 77 77 | 
             
                  click_link jersey.name
         | 
| 78 78 | 
             
                  expect(page).to have_title('Ruby on Rails Baseball Jersey - ' + store_name)
         | 
| 79 79 | 
             
                end
         | 
| @@ -30,14 +30,14 @@ describe "viewing products", type: :feature, inaccessible: true do | |
| 30 30 |  | 
| 31 31 | 
             
              describe 'meta tags and title' do
         | 
| 32 32 | 
             
                it 'displays metas' do
         | 
| 33 | 
            -
                  t_shirts. | 
| 33 | 
            +
                  t_shirts.update metas
         | 
| 34 34 | 
             
                  visit '/t/category/super-clothing/t-shirts'
         | 
| 35 35 | 
             
                  expect(page).to have_meta(:description, 'Brand new Ruby on Rails TShirts')
         | 
| 36 36 | 
             
                  expect(page).to have_meta(:keywords, 'ror, tshirt, ruby')
         | 
| 37 37 | 
             
                end
         | 
| 38 38 |  | 
| 39 39 | 
             
                it 'display title if set' do
         | 
| 40 | 
            -
                  t_shirts. | 
| 40 | 
            +
                  t_shirts.update metas
         | 
| 41 41 | 
             
                  visit '/t/category/super-clothing/t-shirts'
         | 
| 42 42 | 
             
                  expect(page).to have_title("Ruby On Rails TShirt")
         | 
| 43 43 | 
             
                end
         | 
| @@ -49,7 +49,7 @@ describe "viewing products", type: :feature, inaccessible: true do | |
| 49 49 |  | 
| 50 50 | 
             
                # Regression test for https://github.com/spree/spree/issues/2814
         | 
| 51 51 | 
             
                it "doesn't use meta_title as heading on page" do
         | 
| 52 | 
            -
                  t_shirts. | 
| 52 | 
            +
                  t_shirts.update metas
         | 
| 53 53 | 
             
                  visit '/t/category/super-clothing/t-shirts'
         | 
| 54 54 | 
             
                  within("h1.taxon-title") do
         | 
| 55 55 | 
             
                    expect(page).to have_content(t_shirts.name)
         | 
| @@ -57,7 +57,7 @@ describe "viewing products", type: :feature, inaccessible: true do | |
| 57 57 | 
             
                end
         | 
| 58 58 |  | 
| 59 59 | 
             
                it 'uses taxon name in title when meta_title set to empty string' do
         | 
| 60 | 
            -
                  t_shirts. | 
| 60 | 
            +
                  t_shirts.update meta_title: ''
         | 
| 61 61 | 
             
                  visit '/t/category/super-clothing/t-shirts'
         | 
| 62 62 | 
             
                  expect(page).to have_title('Category - T-Shirts - ' + store_name)
         | 
| 63 63 | 
             
                end
         | 
    
        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. | 
| 4 | 
            +
              version: 2.10.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Solidus Team
         | 
| 8 | 
            -
            autorequire: | 
| 8 | 
            +
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2020- | 
| 11 | 
            +
            date: 2020-11-06 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. | 
| 19 | 
            +
                    version: 2.10.3
         | 
| 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. | 
| 26 | 
            +
                    version: 2.10.3
         | 
| 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. | 
| 33 | 
            +
                    version: 2.10.3
         | 
| 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. | 
| 40 | 
            +
                    version: 2.10.3
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: canonical-rails
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -94,6 +94,20 @@ dependencies: | |
| 94 94 | 
             
                - - "~>"
         | 
| 95 95 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 96 | 
             
                    version: '1.1'
         | 
| 97 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 98 | 
            +
              name: responders
         | 
| 99 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 100 | 
            +
                requirements:
         | 
| 101 | 
            +
                - - ">="
         | 
| 102 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 103 | 
            +
                    version: '0'
         | 
| 104 | 
            +
              type: :runtime
         | 
| 105 | 
            +
              prerelease: false
         | 
| 106 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 107 | 
            +
                requirements:
         | 
| 108 | 
            +
                - - ">="
         | 
| 109 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 110 | 
            +
                    version: '0'
         | 
| 97 111 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 98 112 | 
             
              name: sassc-rails
         | 
| 99 113 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -204,7 +218,6 @@ files: | |
| 204 218 | 
             
            - app/controllers/spree/taxons_controller.rb
         | 
| 205 219 | 
             
            - app/helpers/spree/orders_helper.rb
         | 
| 206 220 | 
             
            - app/helpers/spree/taxon_filters_helper.rb
         | 
| 207 | 
            -
            - app/models/spree/frontend_configuration.rb
         | 
| 208 221 | 
             
            - app/views/spree/address/_form.html.erb
         | 
| 209 222 | 
             
            - app/views/spree/address/_form_hidden.html.erb
         | 
| 210 223 | 
             
            - app/views/spree/checkout/_address.html.erb
         | 
| @@ -264,8 +277,10 @@ files: | |
| 264 277 | 
             
            - lib/generators/solidus/views/override_generator.rb
         | 
| 265 278 | 
             
            - lib/solidus_frontend.rb
         | 
| 266 279 | 
             
            - lib/spree/frontend.rb
         | 
| 280 | 
            +
            - lib/spree/frontend/config.rb
         | 
| 267 281 | 
             
            - lib/spree/frontend/engine.rb
         | 
| 268 282 | 
             
            - lib/spree/frontend/middleware/seo_assist.rb
         | 
| 283 | 
            +
            - lib/spree/frontend_configuration.rb
         | 
| 269 284 | 
             
            - lib/spree_frontend.rb
         | 
| 270 285 | 
             
            - lib/tasks/rake_util.rb
         | 
| 271 286 | 
             
            - lib/tasks/taxon.rake
         | 
| @@ -316,7 +331,7 @@ homepage: http://solidus.io/ | |
| 316 331 | 
             
            licenses:
         | 
| 317 332 | 
             
            - BSD-3-Clause
         | 
| 318 333 | 
             
            metadata: {}
         | 
| 319 | 
            -
            post_install_message: | 
| 334 | 
            +
            post_install_message:
         | 
| 320 335 | 
             
            rdoc_options: []
         | 
| 321 336 | 
             
            require_paths:
         | 
| 322 337 | 
             
            - lib
         | 
| @@ -324,7 +339,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 324 339 | 
             
              requirements:
         | 
| 325 340 | 
             
              - - ">="
         | 
| 326 341 | 
             
                - !ruby/object:Gem::Version
         | 
| 327 | 
            -
                  version: 2. | 
| 342 | 
            +
                  version: 2.4.0
         | 
| 328 343 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 329 344 | 
             
              requirements:
         | 
| 330 345 | 
             
              - - ">="
         | 
| @@ -332,8 +347,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 332 347 | 
             
                  version: 1.8.23
         | 
| 333 348 | 
             
            requirements:
         | 
| 334 349 | 
             
            - none
         | 
| 335 | 
            -
            rubygems_version: 3. | 
| 336 | 
            -
            signing_key: | 
| 350 | 
            +
            rubygems_version: 3.1.4
         | 
| 351 | 
            +
            signing_key:
         | 
| 337 352 | 
             
            specification_version: 4
         | 
| 338 353 | 
             
            summary: Cart and storefront for the Solidus e-commerce project.
         | 
| 339 354 | 
             
            test_files: []
         |