mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Delegating responsibility for returning an empty scope when no options are passed to order_cycle_enterprises_for
This commit is contained in:
@@ -92,9 +92,9 @@ module Admin
|
||||
def collection
|
||||
case action
|
||||
when :for_order_cycle
|
||||
return Enterprise.where("1=0") unless params[:coordinator_id] || params[:order_cycle_id]
|
||||
options = { coordinator: Enterprise.find(params[:coordinator_id]) }
|
||||
options = { order_cycle: OrderCycle.find(params[:order_cycle_id]) } if params[:order_cycle_id]
|
||||
options = {}
|
||||
options[:coordinator] = Enterprise.find(params[:coordinator_id]) if params[:coordinator_id]
|
||||
options[:order_cycle] = OrderCycle.find(params[:order_cycle_id]) if params[:order_cycle_id]
|
||||
return OpenFoodNetwork::Permissions.new(spree_current_user).order_cycle_enterprises_for(options)
|
||||
else
|
||||
# TODO was ordered with is_distributor DESC as well, not sure why or how we want to sort this now
|
||||
|
||||
@@ -379,8 +379,7 @@ module Admin
|
||||
context "when no order_cycle or coordinator is provided in params" do
|
||||
before { spree_get :for_order_cycle }
|
||||
it "returns an empty scope" do
|
||||
expect(assigns(:collection)).to be_empty
|
||||
expect(permission_mock).to_not have_received :order_cycle_enterprises_for
|
||||
expect(permission_mock).to have_received(:order_cycle_enterprises_for).with({})
|
||||
end
|
||||
end
|
||||
|
||||
@@ -400,8 +399,8 @@ module Admin
|
||||
|
||||
context "when both an order cycle and a coordinator are provided in params" do
|
||||
before { spree_get :for_order_cycle, order_cycle_id: 1, coordinator_id: 1 }
|
||||
it "calls order_cycle_enterprises_for() with an :order_cycle option" do
|
||||
expect(permission_mock).to have_received(:order_cycle_enterprises_for).with(order_cycle: "instance of OrderCycle")
|
||||
it "calls order_cycle_enterprises_for() with both options" do
|
||||
expect(permission_mock).to have_received(:order_cycle_enterprises_for).with(coordinator: "instance of Enterprise", order_cycle: "instance of OrderCycle")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -27,6 +27,12 @@ module OpenFoodNetwork
|
||||
let(:producer) { create(:supplier_enterprise) }
|
||||
let(:oc) { create(:simple_order_cycle, coordinator: coordinator) }
|
||||
|
||||
context "when no order_cycle or coordinator are provided for reference" do
|
||||
it "returns an empty scope" do
|
||||
expect(permissions.order_cycle_enterprises_for()).to be_empty
|
||||
end
|
||||
end
|
||||
|
||||
context "as a manager of the coordinator" do
|
||||
it "returns the coordinator itself" do
|
||||
permissions.stub(:managed_enterprises) { Enterprise.where(id: [coordinator]) }
|
||||
|
||||
Reference in New Issue
Block a user