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