mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Redirecting any spree checkout_state redirects to our checkout controller
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user