Sha256: 27bc53d263ccda73af639b68cc514e985ff5288074e166e478b12e7b445d2bce

Contents?: true

Size: 1.23 KB

Versions: 6

Compression:

Stored size: 1.23 KB

Contents

require 'spec_helper'

describe 'current order tracking', type: :controller do
  let!(:store) { create(:store) }
  let(:user) { create(:user) }

  controller(Spree::StoreController) do
    def index
      head :ok
    end
  end

  let(:order) { FactoryBot.create(:order) }

  it 'automatically tracks who the order was created by & IP address' do
    allow(controller).to receive_messages(try_spree_current_user: user)
    get :index
    expect(controller.current_order(create_order_if_necessary: true).created_by).to eq controller.try_spree_current_user
    expect(controller.current_order.last_ip_address).to eq "0.0.0.0"
  end

  context "current order creation" do
    before { allow(controller).to receive_messages(try_spree_current_user: user) }

    it "doesn't create a new order out of the blue" do
      expect {
        get :index
      }.not_to change { Spree::Order.count }
    end
  end
end

describe Spree::OrdersController, type: :controller do
  let(:user) { create(:user) }

  before { allow(controller).to receive_messages(try_spree_current_user: user) }

  describe Spree::OrdersController do
    it "doesn't create a new order out of the blue" do
      expect {
        get :edit
      }.not_to change { Spree::Order.count }
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
solidus_frontend-2.5.2 spec/controllers/spree/current_order_tracking_spec.rb
solidus_frontend-2.5.1 spec/controllers/spree/current_order_tracking_spec.rb
solidus_frontend-2.5.0 spec/controllers/spree/current_order_tracking_spec.rb
solidus_frontend-2.5.0.rc1 spec/controllers/spree/current_order_tracking_spec.rb
solidus_frontend-2.5.0.beta2 spec/controllers/spree/current_order_tracking_spec.rb
solidus_frontend-2.5.0.beta1 spec/controllers/spree/current_order_tracking_spec.rb