From 145696aa7f36725ede8f14ed0b691a5f3a6b2152 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Thu, 29 Jun 2023 15:50:02 +1000 Subject: [PATCH] Create only used test data The `params` and the user are created before the request. But, for example, the enterprise user doesn't need creating when testing permissions of the normal user. --- spec/controllers/spree/admin/orders/invoices_spec.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/spec/controllers/spree/admin/orders/invoices_spec.rb b/spec/controllers/spree/admin/orders/invoices_spec.rb index 97867d5658..432975103b 100644 --- a/spec/controllers/spree/admin/orders/invoices_spec.rb +++ b/spec/controllers/spree/admin/orders/invoices_spec.rb @@ -106,13 +106,13 @@ describe Spree::Admin::OrdersController, type: :controller do end describe "#index" do - let!(:user) { create(:user) } - let!(:enterprise_user) { create(:user) } - let!(:order) { + let(:user) { create(:user) } + let(:enterprise_user) { create(:user) } + let(:order) { create(:order_with_distributor, bill_address: create(:address), ship_address: create(:address)) } - let!(:distributor) { order.distributor } + let(:distributor) { order.distributor } let(:params) { { id: order.number } } context "as a normal user" do @@ -133,6 +133,7 @@ describe Spree::Admin::OrdersController, type: :controller do expect(response).to redirect_to unauthorized_path end end + context 'which is a manager of the distributor for an order' do before { allow(controller).to receive(:spree_current_user) { distributor.owner } }