From 8371eada23fe10a2dc742001f88741d2b000749f Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Fri, 17 Nov 2023 13:56:32 +1100 Subject: [PATCH] Don't show the banner if enterprises are not required to accepte ToS --- app/controllers/spree/admin/base_controller.rb | 2 ++ spec/requests/spree/admin/overview_spec.rb | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/app/controllers/spree/admin/base_controller.rb b/app/controllers/spree/admin/base_controller.rb index 4dbfccc8b4..399609d40f 100644 --- a/app/controllers/spree/admin/base_controller.rb +++ b/app/controllers/spree/admin/base_controller.rb @@ -117,6 +117,8 @@ module Spree return unless spree_user_signed_in? + return if Spree::Config.enterprises_require_tos == false + return if accepted_tos? @terms_of_service_banner = true diff --git a/spec/requests/spree/admin/overview_spec.rb b/spec/requests/spree/admin/overview_spec.rb index b75c62539d..db3466371c 100644 --- a/spec/requests/spree/admin/overview_spec.rb +++ b/spec/requests/spree/admin/overview_spec.rb @@ -25,6 +25,8 @@ describe "/admin", type: :request do # The banner will show on all admin page, we are just testing it here describe "terms of service updated banner" do context "when terms of service has been updated" do + before { Spree::Config.enterprises_require_tos = true } + it "shows accept new ToS banner" do enterprise_user.update(terms_of_service_accepted_at: nil) @@ -53,6 +55,19 @@ describe "/admin", type: :request do expect(response.body).to include("Terms of Service have been updated") end end + + context "when enterprises don't need to accept ToS" do + before do + Spree::Config.enterprises_require_tos = false + enterprise_user.update(terms_of_service_accepted_at: nil) + end + + it "doesn't show accept new ToS banner" do + get "/admin" + + expect(response.body).to_not include("Terms of Service have been updated") + end + end end end end