Redirecting any spree checkout_state redirects to our checkout controller

This commit is contained in:
Rob Harrington
2014-12-11 14:53:11 +11:00
parent d0e013c1a5
commit 3be437485a
2 changed files with 21 additions and 1 deletions

View File

@@ -2,6 +2,11 @@ Spree::CheckoutController.class_eval do
include CheckoutHelper
def edit
flash.keep
redirect_to main_app.checkout_path
end
private
def before_payment
@@ -18,7 +23,7 @@ Spree::CheckoutController.class_eval do
preferred_bill_address, preferred_ship_address = spree_current_user.bill_address, spree_current_user.ship_address if spree_current_user.respond_to?(:bill_address) && spree_current_user.respond_to?(:ship_address)
@order.bill_address ||= preferred_bill_address || last_used_bill_address || Spree::Address.default
@order.ship_address ||= preferred_ship_address || last_used_ship_address || nil
@order.ship_address ||= preferred_ship_address || last_used_ship_address || nil
end
def after_complete

View File

@@ -1,8 +1,11 @@
require 'spec_helper'
require 'spree/api/testing_support/helpers'
require 'support/request/authentication_workflow'
describe Spree::CheckoutController do
include AuthenticationWorkflow
context "After completing an order" do
it "should create a new empty order" do
controller.current_order(true)
@@ -34,6 +37,18 @@ describe Spree::CheckoutController do
controller.current_order.token.should == order.token
session[:access_token].should == order.token
end
end
context "rendering edit from within spree for the current checkout state" do
let!(:order) { controller.current_order(true) }
let!(:line_item) { create(:line_item, order: order) }
let!(:user) { create_enterprise_user }
it "redirects to the OFN checkout page" do
controller.stub(:skip_state_validation?) { true }
controller.stub(:spree_current_user) { user }
spree_get :edit
response.should redirect_to checkout_path
end
end
end