mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-26 01:33:22 +00:00
Style Metrics/ModuleLength in spec file
This commit is contained in:
@@ -161,7 +161,6 @@ Metrics/ModuleLength:
|
||||
- 'app/models/spree/order/checkout.rb'
|
||||
- 'app/models/spree/payment/processing.rb'
|
||||
- 'lib/open_food_network/column_preference_defaults.rb'
|
||||
- 'spec/lib/reports/enterprise_fee_summary/authorizer_spec.rb'
|
||||
- 'spec/lib/reports/order_cycle_management_report_spec.rb'
|
||||
- 'spec/lib/reports/products_and_inventory_report_spec.rb'
|
||||
- 'spec/lib/reports/users_and_enterprises_report_spec.rb'
|
||||
|
||||
@@ -2,178 +2,175 @@
|
||||
|
||||
require "spec_helper"
|
||||
|
||||
module Reporting
|
||||
module Reports
|
||||
module EnterpriseFeeSummary
|
||||
RSpec.describe Authorizer do
|
||||
let(:user) { create(:user) }
|
||||
RSpec.describe Reporting::Reports::EnterpriseFeeSummary::Authorizer do
|
||||
let(:user) { create(:user) }
|
||||
|
||||
let(:parameters) { Parameters.new(params) }
|
||||
let(:permissions) { Permissions.new(user) }
|
||||
let(:authorizer) { Authorizer.new(parameters, permissions) }
|
||||
let(:parameters) { Reporting::Reports::EnterpriseFeeSummary::Parameters.new(params) }
|
||||
let(:permissions) { Reporting::Reports::EnterpriseFeeSummary::Permissions.new(user) }
|
||||
let(:authorizer) { described_class.new(parameters, permissions) }
|
||||
let!(:parameter_not_allowed_error) do
|
||||
Reporting::Reports::EnterpriseFeeSummary::ParameterNotAllowedError
|
||||
end
|
||||
|
||||
context "for distributors" do
|
||||
before do
|
||||
allow(permissions).to receive(:allowed_distributors) do
|
||||
stub_model_collection(Enterprise, :id, ["1", "2", "3"])
|
||||
end
|
||||
end
|
||||
context "for distributors" do
|
||||
before do
|
||||
allow(permissions).to receive(:allowed_distributors) do
|
||||
stub_model_collection(Enterprise, :id, ["1", "2", "3"])
|
||||
end
|
||||
end
|
||||
|
||||
context "when distributors are allowed" do
|
||||
let(:params) { { distributor_ids: ["1", "3"] } }
|
||||
context "when distributors are allowed" do
|
||||
let(:params) { { distributor_ids: ["1", "3"] } }
|
||||
|
||||
it "does not raise error" do
|
||||
expect { authorizer.authorize! }.not_to raise_error
|
||||
end
|
||||
end
|
||||
it "does not raise error" do
|
||||
expect { authorizer.authorize! }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
context "when a distributor is not allowed" do
|
||||
let(:params) { { distributor_ids: ["1", "4"] } }
|
||||
context "when a distributor is not allowed" do
|
||||
let(:params) { { distributor_ids: ["1", "4"] } }
|
||||
|
||||
it "raises ParameterNotAllowedError" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(ParameterNotAllowedError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "for producers" do
|
||||
before do
|
||||
allow(permissions).to receive(:allowed_producers) do
|
||||
stub_model_collection(Enterprise, :id, ["1", "2", "3"])
|
||||
end
|
||||
end
|
||||
|
||||
context "when producers are allowed" do
|
||||
let(:params) { { producer_ids: ["1", "3"] } }
|
||||
|
||||
it "does not raise error" do
|
||||
expect { authorizer.authorize! }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
context "when a producer is not allowed" do
|
||||
let(:params) { { producer_ids: ["1", "4"] } }
|
||||
|
||||
it "raises ParameterNotAllowedError" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(ParameterNotAllowedError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "for order cycles" do
|
||||
before do
|
||||
allow(permissions).to receive(:allowed_order_cycles) do
|
||||
stub_model_collection(OrderCycle, :id, ["1", "2", "3"])
|
||||
end
|
||||
end
|
||||
|
||||
context "when order cycles are allowed" do
|
||||
let(:params) { { order_cycle_ids: ["1", "3"] } }
|
||||
|
||||
it "does not raise error" do
|
||||
expect { authorizer.authorize! }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
context "when an order cycle is not allowed" do
|
||||
let(:params) { { order_cycle_ids: ["1", "4"] } }
|
||||
|
||||
it "raises ParameterNotAllowedError" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(ParameterNotAllowedError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "for enterprise fees" do
|
||||
before do
|
||||
allow(permissions).to receive(:allowed_enterprise_fees) do
|
||||
stub_model_collection(EnterpriseFee, :id, ["1", "2", "3"])
|
||||
end
|
||||
end
|
||||
|
||||
context "when enterprise fees are allowed" do
|
||||
let(:params) { { enterprise_fee_ids: ["1", "3"] } }
|
||||
|
||||
it "does not raise error" do
|
||||
expect { authorizer.authorize! }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
context "when an enterprise fee is not allowed" do
|
||||
let(:params) { { enterprise_fee_ids: ["1", "4"] } }
|
||||
|
||||
it "raises ParameterNotAllowedError" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(ParameterNotAllowedError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "for shipping methods" do
|
||||
before do
|
||||
allow(permissions).to receive(:allowed_shipping_methods) do
|
||||
stub_model_collection(Spree::ShippingMethod, :id, ["1", "2", "3"])
|
||||
end
|
||||
end
|
||||
|
||||
context "when shipping methods are allowed" do
|
||||
let(:params) { { shipping_method_ids: ["1", "3"] } }
|
||||
|
||||
it "does not raise error" do
|
||||
expect { authorizer.authorize! }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
context "when a shipping method is not allowed" do
|
||||
let(:params) { { shipping_method_ids: ["1", "4"] } }
|
||||
|
||||
it "raises ParameterNotAllowedError" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(ParameterNotAllowedError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "for payment methods" do
|
||||
before do
|
||||
allow(permissions).to receive(:allowed_payment_methods) do
|
||||
stub_model_collection(Spree::PaymentMethod, :id, ["1", "2", "3"])
|
||||
end
|
||||
end
|
||||
|
||||
context "when payment methods are allowed" do
|
||||
let(:params) { { payment_method_ids: ["1", "3"] } }
|
||||
|
||||
it "does not raise error" do
|
||||
expect { authorizer.authorize! }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
context "when a payment method is not allowed" do
|
||||
let(:params) { { payment_method_ids: ["1", "4"] } }
|
||||
|
||||
it "raises ParameterNotAllowedError" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(ParameterNotAllowedError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def stub_model_collection(model, attribute_name, attribute_list)
|
||||
attribute_list.map do |attribute_value|
|
||||
stub_model(model, attribute_name => attribute_value)
|
||||
end
|
||||
end
|
||||
|
||||
def stub_model(model, params)
|
||||
model.new.tap do |instance|
|
||||
allow(instance).to receive_messages(params)
|
||||
end
|
||||
end
|
||||
it "raises ParameterNotAllowedError" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(parameter_not_allowed_error)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "for producers" do
|
||||
before do
|
||||
allow(permissions).to receive(:allowed_producers) do
|
||||
stub_model_collection(Enterprise, :id, ["1", "2", "3"])
|
||||
end
|
||||
end
|
||||
|
||||
context "when producers are allowed" do
|
||||
let(:params) { { producer_ids: ["1", "3"] } }
|
||||
|
||||
it "does not raise error" do
|
||||
expect { authorizer.authorize! }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
context "when a producer is not allowed" do
|
||||
let(:params) { { producer_ids: ["1", "4"] } }
|
||||
|
||||
it "raises parameter_not_allowed_error" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(parameter_not_allowed_error)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "for order cycles" do
|
||||
before do
|
||||
allow(permissions).to receive(:allowed_order_cycles) do
|
||||
stub_model_collection(OrderCycle, :id, ["1", "2", "3"])
|
||||
end
|
||||
end
|
||||
|
||||
context "when order cycles are allowed" do
|
||||
let(:params) { { order_cycle_ids: ["1", "3"] } }
|
||||
|
||||
it "does not raise error" do
|
||||
expect { authorizer.authorize! }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
context "when an order cycle is not allowed" do
|
||||
let(:params) { { order_cycle_ids: ["1", "4"] } }
|
||||
|
||||
it "raises parameter_not_allowed_error" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(parameter_not_allowed_error)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "for enterprise fees" do
|
||||
before do
|
||||
allow(permissions).to receive(:allowed_enterprise_fees) do
|
||||
stub_model_collection(EnterpriseFee, :id, ["1", "2", "3"])
|
||||
end
|
||||
end
|
||||
|
||||
context "when enterprise fees are allowed" do
|
||||
let(:params) { { enterprise_fee_ids: ["1", "3"] } }
|
||||
|
||||
it "does not raise error" do
|
||||
expect { authorizer.authorize! }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
context "when an enterprise fee is not allowed" do
|
||||
let(:params) { { enterprise_fee_ids: ["1", "4"] } }
|
||||
|
||||
it "raises parameter_not_allowed_error" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(parameter_not_allowed_error)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "for shipping methods" do
|
||||
before do
|
||||
allow(permissions).to receive(:allowed_shipping_methods) do
|
||||
stub_model_collection(Spree::ShippingMethod, :id, ["1", "2", "3"])
|
||||
end
|
||||
end
|
||||
|
||||
context "when shipping methods are allowed" do
|
||||
let(:params) { { shipping_method_ids: ["1", "3"] } }
|
||||
|
||||
it "does not raise error" do
|
||||
expect { authorizer.authorize! }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
context "when a shipping method is not allowed" do
|
||||
let(:params) { { shipping_method_ids: ["1", "4"] } }
|
||||
|
||||
it "raises parameter_not_allowed_error" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(parameter_not_allowed_error)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "for payment methods" do
|
||||
before do
|
||||
allow(permissions).to receive(:allowed_payment_methods) do
|
||||
stub_model_collection(Spree::PaymentMethod, :id, ["1", "2", "3"])
|
||||
end
|
||||
end
|
||||
|
||||
context "when payment methods are allowed" do
|
||||
let(:params) { { payment_method_ids: ["1", "3"] } }
|
||||
|
||||
it "does not raise error" do
|
||||
expect { authorizer.authorize! }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
context "when a payment method is not allowed" do
|
||||
let(:params) { { payment_method_ids: ["1", "4"] } }
|
||||
|
||||
it "raises parameter_not_allowed_error" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(parameter_not_allowed_error)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def stub_model_collection(model, attribute_name, attribute_list)
|
||||
attribute_list.map do |attribute_value|
|
||||
stub_model(model, attribute_name => attribute_value)
|
||||
end
|
||||
end
|
||||
|
||||
def stub_model(model, params)
|
||||
model.new.tap do |instance|
|
||||
allow(instance).to receive_messages(params)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user