From f199fb182b2edf89dc3a4ae062bcda0629b12bb0 Mon Sep 17 00:00:00 2001 From: David Cook Date: Mon, 12 May 2025 17:35:05 +1000 Subject: [PATCH 1/3] Add specs --- .../variant_overrides_controller_spec.rb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/spec/controllers/admin/variant_overrides_controller_spec.rb b/spec/controllers/admin/variant_overrides_controller_spec.rb index 807e4a26c7..9d46ba69ae 100644 --- a/spec/controllers/admin/variant_overrides_controller_spec.rb +++ b/spec/controllers/admin/variant_overrides_controller_spec.rb @@ -3,6 +3,29 @@ require 'spec_helper' RSpec.describe Admin::VariantOverridesController, type: :controller do + describe "index" do + context "not logged in" do + it "redirects to login" do + pending + get :index + expect(response).to have_http_status :found + end + end + + context "where I manage the variant override hub" do + let(:hub) { create(:distributor_enterprise) } + + before do + allow(controller).to receive(:spree_current_user) { hub.owner } + end + + it "succeeds" do + get :index + expect(response).to have_http_status :ok + end + end + end + describe "bulk_update" do context "json" do let(:format) { :json } From 82f94e3969704ba424c1a7d1f5f23717d3d0cba6 Mon Sep 17 00:00:00 2001 From: David Cook Date: Mon, 12 May 2025 17:35:23 +1000 Subject: [PATCH 2/3] Ensure user is loaded before loading data --- app/controllers/admin/variant_overrides_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/admin/variant_overrides_controller.rb b/app/controllers/admin/variant_overrides_controller.rb index 00ba18f101..a437d9b368 100644 --- a/app/controllers/admin/variant_overrides_controller.rb +++ b/app/controllers/admin/variant_overrides_controller.rb @@ -7,7 +7,7 @@ module Admin include OpenFoodNetwork::SpreeApiKeyLoader include EnterprisesHelper - prepend_before_action :load_data + prepend_before_action :load_data, if: :spree_current_user before_action :load_collection, only: [:bulk_update] before_action :load_spree_api_key, only: :index From 6a5faaef220f70b169b1adaf90c43a421a4eccef Mon Sep 17 00:00:00 2001 From: David Cook Date: Tue, 13 May 2025 15:18:39 +1000 Subject: [PATCH 3/3] Add expectation for redirect --- spec/controllers/admin/variant_overrides_controller_spec.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spec/controllers/admin/variant_overrides_controller_spec.rb b/spec/controllers/admin/variant_overrides_controller_spec.rb index 9d46ba69ae..97e917da19 100644 --- a/spec/controllers/admin/variant_overrides_controller_spec.rb +++ b/spec/controllers/admin/variant_overrides_controller_spec.rb @@ -6,9 +6,10 @@ RSpec.describe Admin::VariantOverridesController, type: :controller do describe "index" do context "not logged in" do it "redirects to login" do - pending get :index - expect(response).to have_http_status :found + expect(response).to redirect_to( + root_path(anchor: "/login", after_login: admin_inventory_path) + ) end end