Hide new data fetching implementation under toggle

This commit is contained in:
Pau Perez
2021-01-13 19:13:27 +01:00
parent 37b7340eb1
commit e8ef4acb2b
2 changed files with 30 additions and 6 deletions

View File

@@ -14,12 +14,7 @@ module Spree
# Ignores invoice orders
def show
@orders = @user.orders
.where.not(Spree::Order.in_incomplete_state.where_values_hash)
.select('spree_orders.*')
.order('completed_at desc')
@orders = OutstandingBalance.new(@orders).query
@orders = orders_collection
customers = spree_current_user.customers
@shops = Enterprise
@@ -64,6 +59,19 @@ module Spree
private
def orders_collection
if OpenFoodNetwork::FeatureToggle.enabled?(:customer_balance, spree_current_user)
orders = @user.orders
.where.not(Spree::Order.in_incomplete_state.where_values_hash)
.select('spree_orders.*')
.order('completed_at desc')
OutstandingBalance.new(orders).query
else
@user.orders.where(state: 'complete').order('completed_at desc')
end
end
def load_object
@user ||= spree_current_user
if @user

View File

@@ -40,6 +40,22 @@ describe Spree::UsersController, type: :controller do
# Doesn't return uncompleted orders" do
expect(orders).not_to include d1o3
end
context 'when the customer_balance feature is enabled' do
let(:outstanding_balance) { double(:outstanding_balance) }
before do
allow(OpenFoodNetwork::FeatureToggle)
.to receive(:enabled?).with(:customer_balance, controller.spree_current_user) { true }
end
it 'calls OutstandingBalance' do
allow(OutstandingBalance).to receive(:new).and_return(outstanding_balance)
expect(outstanding_balance).to receive(:query) { Spree::Order.none }
spree_get :show
end
end
end
describe "registered_email" do